powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Microsoft Jet лучше ODBC??????
2 сообщений из 2, страница 1 из 1
Microsoft Jet лучше ODBC??????
    #32441589
Rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rem
Гость
Использую след. запрос для удаления повторяющихся записей :

AnsiString sSQL = "DELETE *\r\nFROM SubscribersCalls AS C\r\nWHERE C.ID IN (SELECT A.ID\r\n";
sSQL +="FROM SubscribersCalls AS A, SubscribersCalls AS B\r\n";
sSQL +="WHERE A.ID>B.ID AND A.SubscribersID=B.SubscribersID AND A.Data=B.Data AND A.Time=B.Time AND A.Type=B.Type AND A.SecondNumber=B.SecondNumber AND A.Duration=B.Duration\r\n";
sSQL +="GROUP BY A.ID)";
ADOCommand1->CommandText = sSQL;
ADOCommand1->Execute();

У ADOCommand1 Connection - ADOConnection1.
Так вот если я у ADOConnection использую Provider=Microsoft.Jet.OLEDB.4.0
то все удаляется довольно быстро. Если же использовать Provider=MSDASQL.1
(Microsoft Ole DB Provider for ODBC driver's) то начинаются тормоза.
Например если таблица содержит 6000 записей, то в случае с Jet выполняется 3 секунды, а во втором случае - 40 секунд. А если записей больше то вообще...

Кто-нить может это объяснить??
...
Рейтинг: 0 / 0
Microsoft Jet лучше ODBC??????
    #32442304
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
старые драйвера к акцесным базам очень не любят выражение IN

попробуй заменить на LEFT JOIN с проверкой правой части на NULL, должно начать работать быстрее
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Microsoft Jet лучше ODBC??????
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]