MySQL 中的数学函数是否比 PHP 更快?

kra*_*xor 3 php mysql

我一直在与MySQL的一段时间,但我从来没有真正用于支持数学函数,如FLOOR(),SQRT(),CRC32(),等。

在查询中使用这些函数而不是仅使用 PHP 对结果集执行相同操作是否更快/更好?

编辑:我不认为这个问题是一个重复的这个,因为我的问题是关于数学函数,我链接,页面上列出不 CONCAT()或NOW()或任何其他功能,如这个问题。请在标记之前考虑这一点。

Eri*_*son 5

在 PHP 中执行此操作更有效。

更快取决于所涉及的机器,如果您谈论的是对一个用户来说更快。如果您正在谈论更快地访问网站的 100 万用户,那么在 PHP 中进行这些计算会更有效。

运行 PHP 的网络服务器的负载很容易分布在大量机器上。这些机器可以并行运行,处理来自访问者的请求并从数据库中获取必要的信息。然而,数据库并不容易并行运行。复制或分片等问题很复杂,可能需要专业软件和正确组织的数据才能正常运行。与向服务器阵列添加另一个 PHP 安装相比,这些是昂贵的解决方案。

正因为如此,数据库机器上一个 CPU 周期的价值远比网络服务器上的一个更有价值。因此,您应该在 CPU 周期更便宜且更易于并行化的网络服务器上执行这些数学函数。