数据库有83W条记录,本想计算20180101以后的天天赔付状况,故写了如下SQL语句:数据库
SELECT 起保时间,sum(赔付金额) as 日赔付测试
FROM maindata索引
WHERE 起保时间>'20180101' 效率
GROUP BY 起保时间数据
结果每次执行要7.5S。查询
对 ‘起保时间’ 创建索引 速度反而加到7.8S。时间
通过屡次测试,改为显式从查询结果GROUP BY ,效率大大提升,大概在1.1S,SQL语句以下:data
SELECT 起保时间,sum(赔付金额) as 日赔付
FROM (SELECT 起保时间,赔付金额 FROM maindata WHERE 起保时间>'20180101') t
GROUP BY 起保时间
特记之!