我想是吧
SELECT SUM(val/2) FROM my_table
将计算n次除法(每行一次)
SELECT SUM(val)/2 FROM my_table
将只计算一次sum()和除法是这样吗?对于任何聚合函数?
dluptydi1#
第二个更好。在性能方面,所执行的操作数少于第一种情况。只进行一个除法,而在前n个除法中进行。其次,第二个查询的结果比第一个查询的结果更“精确”,因为当总和除以2时,只会进行一次近似。在第一个查询中,近似的val/2值是sum,然后是近似的结果。
mctunoxg2#
如果除以2,则两种方法都是正确的如果除以3或其他数字,则第一种方法是正确的
2条答案
按热度按时间dluptydi1#
第二个更好。在性能方面,所执行的操作数少于第一种情况。只进行一个除法,而在前n个除法中进行。
其次,第二个查询的结果比第一个查询的结果更“精确”,因为当总和除以2时,只会进行一次近似。在第一个查询中,近似的val/2值是sum,然后是近似的结果。
mctunoxg2#
如果除以2,则两种方法都是正确的如果除以3或其他数字,则第一种方法是正确的