一尘不染

可以在MySQL中加快sum()吗?

mysql

我正在对MySQL数据库进行“ select sum(foo)from
bar”查询,该数据库总计7.3mm记录,每次运行大约需要22秒。在MySQL中有加快总和的技巧吗?


阅读 485

收藏
2020-05-17

共1个答案

一尘不染

不,您不能加快功能本身。问题实际上是您要选择730万条记录。MySQL必须扫描整个表,而730万是一个很大的数字。实际上,它完成得如此之快给我留下了深刻的印象。

您可以采用的策略是将数据分成较小的子集(也许按日期?月?),并为不会改变的旧数据保持总计。您可以定期更新总和,可以通过将总和以及此后添加的任何新数据相加来计算总值,这将减少很多行。

2020-05-17