当对行求和时,PHP与MySQL相比消耗了多少

当对行求和时,PHP与MySQL相比消耗了多少,php,mysql,Php,Mysql,基本上我会直接从MySQL上完成,但我正在使用其他人的代码,我肯定会犯他的错误 出于好奇,假设我的数据库中有2000万行,我在一个PHP循环中对它们进行求和,这与列的名称无关 这有多消耗 目前,我使用以下方法绕过了该问题: ini_set('memory_limit','2000M'); 让我们试着用一个更具体的例子: 假设我有一个名为deposits的表,其中包含user\u id、deposit\u amount列 有两种方法可以合计所有用户的数量 1使用MySQL: SELECT SUM

基本上我会直接从MySQL上完成,但我正在使用其他人的代码,我肯定会犯他的错误

出于好奇,假设我的数据库中有2000万行,我在一个PHP循环中对它们进行求和,这与列的名称无关

这有多消耗

目前,我使用以下方法绕过了该问题:

ini_set('memory_limit','2000M');
让我们试着用一个更具体的例子:

假设我有一个名为deposits的表,其中包含user\u id、deposit\u amount列

有两种方法可以合计所有用户的数量

1使用MySQL:

SELECT SUM(`deposit_amount`) FROM `deposits`)
2使用PHP:

$deposits = getAllDeposits();
foreach ($deposits as $deposit)
{
    $sum += $deposit;
}

因为您要将它们全部读入内存,然后使用一系列内存操作执行循环,非常耗时。

非常耗时。此外,当达到内存或时间限制时,脚本有流产的风险。毕竟,这意味着所有这些值都必须保存在内存中!你自己来测试一下,你会得到你的答案。我们看的可能是几十分钟,而不是几秒钟。顺便说一句,为什么我会被否决?