PHP循环与avg()函数

时间:2014-02-24 08:43:27

标签: mysql query-optimization

我在某处读到了这个:

  

当你刚接触MySQL时,用你所熟悉的语言解决问题很诱人。这可能导致不必要的和更慢的代码。例如,不是使用MySQL的原生AVG()函数,而是使用PHP循环通过对记录集中的所有值求和来计算平均值。

     

还要注意PHP循环中的SQL查询。通常,运行查询然后遍历结果会更有效。

     

通常,在分析数据时利用数据库的优势。一点SQL知识都有很长的路要走。

我的判决:我认为这没有任何意义。如果一张表有数百万条记录,那么就不需要获取数百万条记录来获得平均值。我更好地获取平均值。

注意:如果应用程序和数据库服务器不同,它会更有意义,因为传输时间会很长。

只想了解MySQL专家对此的判断。

1 个答案:

答案 0 :(得分:1)

作为我的观点当表格当时有大量记录时,AVG()计算将仅在数据库方面完成,如果你将这些数据提取到PHP中并进行计算则需要花费太多的时间。它会降低性能。所以只计算数据库内部的平均值是好的。

还有一件事你告诉我在分析数据时利用数据库的力量,这是完全正确的。否则数据库函数的用途是什么。