我正在对MySQL数据库进行“ select sum(foo)from bar”查询,该数据库总计7.3mm记录,每次运行大约需要22秒。在MySQL中有加快总和的技巧吗?
不,您不能加快功能本身。问题实际上是您要选择730万条记录。MySQL必须扫描整个表,而730万是一个很大的数字。实际上,它完成得如此之快给我留下了深刻的印象。
您可以采用的策略是将数据分成较小的子集(也许按日期?月?),并为不会改变的旧数据保持总计。您可以定期更新总和,可以通过将总和以及此后添加的任何新数据相加来计算总值,这将减少很多行。