SQL SERVER 2000 如何提高大数据筛选GROUP BY 的效率

数据库有83W条记录,本想计算20180101之后的每天赔付情况,故写了以下SQL语句:

SELECT 起保时间,sum(赔付金额) as 日赔付

FROM maindata

WHERE 起保时间>'20180101' 

 GROUP BY 起保时间

结果每次执行要7.5S。

对 ‘起保时间’ 建立索引 速度反而加到7.8S。

经过多次测试,改成显式从查询结果GROUP BY ,效率大大提高,大概在1.1S,SQL语句如下:

SELECT 起保时间,sum(赔付金额) as 日赔付

FROM (SELECT 起保时间,赔付金额  FROM maindata WHERE 起保时间>'20180101') t

GROUP BY 起保时间

特记之!

原文地址:https://www.cnblogs.com/cjtds/p/9870823.html