我有下面的Access查询,它工作正常。然而,现在大约需要8-10秒才能完成大约700条记录。 FROM
是查询时间很少的另一个查询。我已经缩小到MAX()
函数,因为当我删除该函数时,它运行的查询时间很少。我能做些什么来加快速度?我将假设随着更多数据进入数据库,查询需要的时间越长。访问查询MAX()减缓查询
SELECT FirstName, LastName, TeamID, MAX(total) AS totalMax
FROM attendanceViewAll
WHERE TeamID IN(5,9,13)
GROUP BY FirstName, LastName, TeamID
这里是子查询,基本上它从表中选择一堆数据。这发生在不到一秒钟的时间。此查询的结果是按日期排序的所有内容,并且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
不知道子查询是什么,建议优化策略是没有意义的。 –
我用另一个查询编辑过。 –