如果您的应用程序只是在有人在您的网站上注册或正在登录时计算md5,那么您每小时会有多少次对md5的调用?几百人?如果是这样,我不认为真的很小 PHP和MySQL之间的差异将是显着的。
这个问题应该更像是“我在哪里放置了使用md5存储密码的事实”而不是“什么让我几乎没有获胜”。
而作为旁注,另一个问题可能是:您可以在哪里花费资源进行这种计算?如果你有10台PHP服务器和一个DB重负载下已经服务器,你会得到你的答案;-)
但是,只是为了好玩:
mysql> select benchmark(1000000, md5('test'));
+---------------------------------+
| benchmark(1000000, md5('test')) |
+---------------------------------+
| 0 |
+---------------------------------+
1 row in set (2.24 sec)
而在PHP:
$before = microtime(true);
for ($i=0 ; $i<1000000 ; $i++) {
$a = md5('test');
}
$after = microtime(true);
echo ($after-$before) . "\n";
给出:
$ php ~/developpement/tests/temp/temp.php
3.3341760635376
但你可能不会计算一百万这样的MD5,你会吗?
(这无关以防止SQL注入:刚刚逃出/报价数据总是或使用准备好的语句!)