sum(val/2)或sum(val)/2哪个更好?

7cjasjjr  于 2021-06-25  发布在  Mysql
关注(0)|答案(2)|浏览(388)

我想是吧

SELECT SUM(val/2) FROM my_table

将计算n次除法(每行一次)

SELECT SUM(val)/2 FROM my_table

将只计算一次sum()和除法
是这样吗?
对于任何聚合函数?

dluptydi

dluptydi1#

第二个更好。在性能方面,所执行的操作数少于第一种情况。只进行一个除法,而在前n个除法中进行。
其次,第二个查询的结果比第一个查询的结果更“精确”,因为当总和除以2时,只会进行一次近似。在第一个查询中,近似的val/2值是sum,然后是近似的结果。

mctunoxg

mctunoxg2#

如果除以2,则两种方法都是正确的如果除以3或其他数字,则第一种方法是正确的

相关问题