重复SUM(字段)查询优化

时间:2018-06-14 16:40:29

标签: mysql optimization query-optimization

对于一些摘要计算(稍后将在摘要表中插入),我会使用重复相同的SUM(field)成分查询一些基本数学。

请注意,在以下示例中,代码SUM(price1)完成了3次,SUM(price2)完成了两次。

SELECT customer_id, 
       SUM(price1) AS p1,  
       SUM(price2) AS p2, 
       100*(SUM(price1)-SUM(price2))/SUM(price1) AS discount
FROM myTable
WHERE /* some conditions */
GROUP BY customer_id
乍一看,这对我来说效率很低。

  • 这应该优化吗?或者MySQL在内部进行?
  • 为了获得更好的性能,如何重写?

1 个答案:

答案 0 :(得分:2)

简短回答:别担心。

答案很长:计算任何函数(聚合或其他函数)的成本与获取行的成本相比较小。不要为重复这个功能而烦恼,也不用费心去寻找优化。