我有以下查询,您可以看到多个Count(CompetitorID)
调用。这是一个性能问题,还是SQL Server 2008'缓存'Count
?如果这是性能问题,是否可以存储Count
以防止多次查找?在SELECT查询中防止重复COUNT
SELECT EventID,Count(CompetitorID) AS NumberRunners,
CASE WHEN Count(CompetitorID)<5 THEN 1
WHEN Count(CompetitorID)>=5 AND Count(CompetitorID)<=7 THEN 2
ELSE 3 END AS NumberPlacings
FROM Comps
GROUP BY EventID Order By EventID;
虽然语法看起来像是在重复某个操作,但查询分析器可能会优化它。 – HABO 2012-03-08 02:26:02