powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / почему так медленно работает?
4 сообщений из 4, страница 1 из 1
почему так медленно работает?
    #32041831
konst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При помощи АДО делают запрос к аксесовской базе, точнее двум, но работает жуть как медленно. Есть две одинаковые базы, но содержимое таблиц немного различается, хочу получить эту самую разницу между двумя таблицами по ключу. Ключ - код продукта, остальные поля - прочая инфа про продукт. Вот хочу узнать, сколько кодов отличается при помощи вот какого запроса:
Код: plaintext
1.
SELECT COUNT(a. "COD" ) FROM  "c:\prj\20020201 .mdb". "export"  a WHERE a. "COD"  NOT IN (select b. "COD"  from  "c:\prj\20020101 .mdb". "export"  b WHERE a. "COD"  = b. "COD" )

а, в общем, работает такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATEiNSTANCE(spCON,Connection);
spCON->ConnectionString = _bstr_t( "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=20020101 .mdb");
spCON->Open(  "", "  ", " ", - 1  );
CREATEiNSTANCE(spRS,Recordset)
spRS->PutRefActiveConnection( spCON );
unsigned ticks = GetTickCount();
spRS->Open(t, vtMissing, adOpenKeyset, adLockBatchOptimistic, - 1 ); // в t - тот самый запрос
ticks = GetTickCount() - ticks; // в тикс порядка  300   000 

в таблицах примерно по 8000 записей, запрос выполняется целых 5 минут, может всё дело в запросе или так и должно всё тормозить???
...
Рейтинг: 0 / 0
почему так медленно работает?
    #32041852
АлексК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
раз все равно в коде программы обрабатываешь так может лучше загнать все коды из обеих таблиц в два массива и сравнить программно?
...
Рейтинг: 0 / 0
почему так медленно работает?
    #32041915
konst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 АлексК
Да мне это надо всёго то 1 раз сделать, я очень надеюсь. Просто подумал, что тормозит, может, от того, что запрос неправильно написал!? Ну, быстро это должно работать - миллесекунды, а но минутами (!) какие-то 16000 строчек просматривает...
...
Рейтинг: 0 / 0
почему так медленно работает?
    #32041925
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такой запрос на SQL - сервере обрабатывается моментально,
дело скорее всего в том что подключены mdb и при выполнениии запроса нет кэширования - подчиненный запрос выполняется для каждой строки
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / почему так медленно работает?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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