MySQL:如何优化字段 SUM 的结果?
Posted
技术标签:
【中文标题】MySQL:如何优化字段 SUM 的结果?【英文标题】:MySQL: How to optimize result of SUM of fields? 【发布时间】:2021-01-09 06:37:19 【问题描述】:我有这个问题:
SELECT name, SUM(count_1 + count_2 + count_3 + count_4 + count_5 + count_6) AS Total
FROM my_table
有没有办法更有效地添加这些值count_1 + count_2 + count_3 + count_4 + count_5 + count_6
等等。当我添加大量字段时,mysql 不断崩溃。
【问题讨论】:
为什么有这么多字段?这通常表明架构未正确规范化。 投到BIGINT
您知道SUM()
用于跨多行聚合,对吧?如果您只想一次在一行中添加字段,则不需要它。
@Barmar 是的,因为上面的“count_1”确实代表了一天中的时间,我想存储一天中的每个时间的数据,所以我有 23 个这样的字段。我很好奇是否还有其他方法可以添加这些?
表格有多少行?添加所有行可能需要很长时间。
【参考方案1】:
无论db设计是对还是错,如果你使用聚合函数,你应该使用group by
SELECT name, SUM(count_1 + count_2 + count_3 + count_4 + count_5 + count_6) AS Total
FROM my_table
GROUP BY name
【讨论】:
以上是关于MySQL:如何优化字段 SUM 的结果?的主要内容,如果未能解决你的问题,请参考以下文章