数据库有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 起保时间

 

特记之!

 

相关文章:

  • 2021-07-11
  • 2021-07-11
  • 2022-12-23
  • 2022-03-08
  • 2021-12-22
  • 2021-08-25
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-06
  • 2021-07-19
  • 2021-12-04
相关资源
相似解决方案