脚本宝典收集整理的这篇文章主要介绍了PHP array_diff VS mysql NOT IN,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
'SELECT code FROM t1 WHERE t1 NOT IN (select code FROM t2)'
但它真的很慢,所以我尝试了另一种方式:
我做了两个select,然后将结果与array_diff()进行了比较.
用MysqL:几分钟,有时崩溃
使用PHP:不到1秒.
有人可以解释这些差异吗?
我的SQL查询错了吗?
请参阅serjoschas有关联接的信息以在sql中修复它,它应该比你的PHP解决方案更快.
SELECT code FROM t1 WHERE code NOT IN ( SELECT code FROM t2 )
将会:
SELECT t1.code FROM t1 LEFT JOIN t2 ON t1.code = t2.code WHERE t2.code is null
试试.另请参阅索引,如Cyclone所示:
索引可加快查询速度.如果表只提供一列,则搜索与源表具有相同内容的索引表将完全相同且冗余.否则,我强烈建议索引t2的代码列,这会导致性能的大幅提升和内存消耗的减少.
以上是脚本宝典为你收集整理的PHP array_diff VS mysql NOT IN全部内容,希望文章能够帮你解决PHP array_diff VS mysql NOT IN所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。