Mysql PHP循环vs avg()函数

Mysql PHP循环vs avg()函数,mysql,query-optimization,Mysql,Query Optimization,我在某处读到: 当您刚接触MySQL时,很容易用您熟悉的语言解决问题。这可能会导致不必要和较慢的代码。例如,不是使用MySQL的原生AVG()函数,而是使用PHP循环通过对记录集中的所有值求和来计算平均值 还要注意PHP循环中的SQL查询。通常,运行查询然后循环查询结果更有效 通常,在分析数据时利用数据库的优势。一点SQL知识会有很大帮助 我的结论是:我认为这没有任何意义。如果一个表有数百万条记录,那么与其获取数百万条记录来获得一个平均值,不如获取一个平均值 注意:如果应用程序和数据库服务器与它

我在某处读到:

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

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

通常,在分析数据时利用数据库的优势。一点SQL知识会有很大帮助

我的结论是:我认为这没有任何意义。如果一个表有数百万条记录,那么与其获取数百万条记录来获得一个平均值,不如获取一个平均值

注意:如果应用程序和数据库服务器与它们不同,则更合理,因为传输时间会很长


我只是想知道MySQL专家对此的判断。

作为我的观点,当表中有LAC的记录时,AVG()计算将只在数据库端进行,如果您将这些数据提取到PHP中并进行计算,那么将花费太多的过程。这会降低性能。所以只计算数据库内的平均值是很好的


还有一件事你说过,在分析数据时利用数据库的优势,这是完全正确的。否则,数据库函数和所有函数的用途是什么。

对于处理数据以获得平均值等,SQL非常强大和快速。如果数据存储在数据库中,那么在脚本中计算其中任何一个,而不是在SQL中计算,将是最后的手段,只能在非常奇怪的情况下使用