这是我一直在想的事情。让MySQL处理我的md5哈希是否更快或者我应该让PHP处理它?</ p>
答案 0 :(得分:4)
实际上我认为MySQL MD5实现会更快。
PHP的本机md5()
有一个混乱的算法实现。使用PHP5对MD5进行散列时,我建议使用hash('md5',$var);
,这被证明更快。
制作自己的基准测试。
请参阅this page(评论见底部)。
0.33311605453491: hash/md5
1.0671429634094: md5
答案 1 :(得分:2)
只是比较性能,不会有任何明显的差异(我认为mysql实现的速度会非常快一点)。
尝试使用导致更多可更新(以及更容易维护)代码的解决方案。对我来说,这是在php中进行哈希处理,但我不知道你的代码是什么样的,所以也许让mysql更容易完成这项工作。
PS:如果您将其用于密码,请考虑使用其他algorithm作为hashing(例如sha256)。有关更多信息,请查看wikipedia并阅读有关碰撞的内容。
答案 2 :(得分:1)
进行一些剖析以找出答案。但是你有严重的性能问题需要记住80-20规则。最好先找出瓶颈的位置。
我的直觉是它里面没有太多东西。我个人会把MD5与MySql放在一起 - 保持业务逻辑。