MySQL在查询中重复COUNT

时间:2015-11-09 03:56:58

标签: mysql sql database-performance

如果我将下面的查询分为两个,一个用于COUNT()而另一个SUM's,那么它在性能方面是否有任何影响?

SELECT 
  SUM(c1)*100/COUNT(id), 
  SUM(c2)*100/COUNT(id), 
  SUM(c3)*100/COUNT(id)...

2 个答案:

答案 0 :(得分:2)

假设id永远不会NULL,您可以使用AVG()

SELECT AVG(c1) * 100, 
       AVG(c2) * 100, 
       AVG(c3) * 100...

但是,我不知道你的问题究竟是什么意思。

答案 1 :(得分:2)

不,将其保留为单个查询。 MySQL将进行一次聚合。 您可以通过运行两个查询并确定自己哪个是最快的方法来进行测试。