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 起保时间

 

特记之!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM