Я пытаюсь запустить набор вложенных или сложенных запросов в Microsoft Access.Оптимизация вложенных запросов Microsoft Access
As in I run Query 1
-->I use the results of Query 1 in Query 2
---->I use the results of Query 2 in Query 3
------>I use the results of Query 3 in Query 4
Запрос 3 занимает менее 1 секунды для запуска.
-- Query 3 results --
PARTID INFO
266 156-10
266 165-10
266 183-10
266 200-10
266 205-10
266 219-10
266 228-10
266 230-10
--end Query 3 results --
Когда я запускаю Query 4, для запуска требуется более минуты. Довольно медленно. Поэтому я попытался создать новую таблицу (Test_Table) с результатами из Query 3. Я изменил Query 4, чтобы использовать эту таблицу, а не Query 3. Теперь Query 4 работает менее чем за 1 секунду.
Оригинал Slow Query 4 Код:
SELECT INVENTORYLOG.TABLEID, INVENTORYLOG.RECORDID, TIINVENTORYLOG.INFO, INVENTORYLOG.TYPEID
FROM Query3 INNER JOIN (TIINVENTORYLOG INNER JOIN INVENTORYLOG ON TIINVENTORYLOG.INVENTORYLOGID = INVENTORYLOG.ID) ON (Query3.PARTID = INVENTORYLOG.PARTID) AND (Query3.INFO = TIINVENTORYLOG.INFO)
WHERE (((INVENTORYLOG.TYPEID)<>40))
ORDER BY TIINVENTORYLOG.INFO;
Модифицированный Fast Query 4 код:
SELECT INVENTORYLOG.TABLEID, INVENTORYLOG.RECORDID, TIINVENTORYLOG.INFO, INVENTORYLOG.TYPEID
FROM Test_Table INNER JOIN (TIINVENTORYLOG INNER JOIN INVENTORYLOG ON TIINVENTORYLOG.INVENTORYLOGID = INVENTORYLOG.ID) ON (Test_Table.info = TIINVENTORYLOG.INFO) AND (Test_Table.partid = INVENTORYLOG.PARTID)
WHERE (((INVENTORYLOG.TYPEID)<>40))
ORDER BY TIINVENTORYLOG.INFO;
Inventorylog имеет около 23 000 записей tiinventorylog имеет около 18 000 записей
Так что я думаю, вопрос is: Как заставить Query 4 работать быстро, используя Query 3 вместо моей тестовой таблицы?
Спасибо за любой совет, который вы можете дать.
Вы могли бы дать как sql для запросов 1 и 2? – user158017
и, возможно, любую информацию об индексированных или первичных ключах? – user158017
JETSHOWPLAN - это ценный инструмент для оптимизации запросов в MS-Access. Google JETSHOWPLAN или начать здесь: http://articles.techrepublic.com.com/5100-10878_11-5064388.html Текстовый файл Showplan.out может быть немного подавляющим при первом просмотре, но вы можете получить все, что угодно нужно знать, выполнив поиск в «Сканировании» и «Рашмор» ...«Сканирование» = BAD, «Rushmore» = GOOD – mwolfe02