1

假设我在一个数组中有 50 个对象,并且每个对象都有属性cost。此外,所有对象都在 MySQL 数据库中。

cost循环遍历所有对象并添加它们的成员,或者进行诸如 之类的查询会更有效SELECT sum(cost) FROM ...吗?

编辑:已经建立了一个 PDO 数据库对象。

4

5 回答 5

3

取决于数组大小,您是否已经建立了数据库连接等。我一般会选择循环部分,因为它只有 50 个项目。但是最终的答案是您可以为自己做的基准..

于 2012-07-07T15:56:03.310 回答
1

SUM 查询。把手放下。如果它不比在应用程序代码中循环遍历数组更有效,那么您需要进行一些数据库调整。:)

于 2012-07-07T15:53:48.547 回答
1

一般来说,让 MySQL 为您做这件事要高效得多。但是,如果它真的只有50 个对象,那么其他因素(例如与数据库的网络连接)可能会发挥作用。但是,编写假设应用程序不会扩展的代码绝不是一个好主意。所以使用 MySQL :-)

于 2012-07-07T15:54:25.370 回答
1

求和查询。这将比你自己尝试更有效率。

无论如何,它们将足够相似以至于无关紧要,这意味着您会想要使用 sum,因为它有时很快,有时几乎相同。没有理由自己执行代码来冒险。

于 2012-07-07T15:55:12.533 回答
0

我在 php 中尝试了一个包含 74601 条记录的表,发现 sql SUM 查询比在 php 中循环快大约 10 倍

在这里检查结果

于 2017-12-30T06:18:04.963 回答