У меня есть запрос доступа Access, и он отлично работает. Тем не менее, на столе, которое составляет около 700 записей, требуется около 8-10 секунд. FROM
- это еще один запрос с очень маленьким временем запроса. Я сузил его до функции MAX()
, потому что когда я удаляю эту функцию, она работает с очень небольшим временем запроса. Что я могу сделать, чтобы ускорить это? Я собираюсь предположить, что в базу данных поступает больше данных, чем дольше будет требоваться запрос.Access Query MAX() Замедляет запрос
SELECT FirstName, LastName, TeamID, MAX(total) AS totalMax
FROM attendanceViewAll
WHERE TeamID IN(5,9,13)
GROUP BY FirstName, LastName, TeamID
Это Sub Query, в основном он выбирает кучу данных из таблицы. Это происходит менее чем за секунду. Результатом этого запроса является все упорядоченное по дате и agentID
. Затем я использую вышеуказанный запрос, чтобы найти MAX(total)
, поэтому я могу сгруппировать агенты для сводки. Я использую следующий запрос для других отчетов.
SELECT
a1.TeamID,
a1.FirstName,
a1.LastName,
a1.incurredDate,
a1.points,
a1.OneFallOff,
a1.TwoFallOff,
(select sum(a2.actualPoints)
from attendanceView as a2 where a2.agentID = a1.agentID and a2.incurredDate <= a1.incurredDate) as total,
a1.comment, a1.linked, a1.FallOffDate
FROM attendanceView as a1;
Как вы собираете свой просмотр 'attendanceViewAll'? – Brad
Не зная, что делает подзапрос, бессмысленно предлагать стратегии оптимизации. –
Я отредактировал с другим запросом. –