PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 2个不同的小查询vs 1查询与子查询大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的桌子 @H_874_1@name | personal_number ----------------------------------------- Jon | 222 Alex | 555 Jon | 222 Jimmy | 999

我需要得到每个名字,哪个personal_number在表中重复超过1,这是结果必须是:

@H_874_1@Jon Jon

所以,变式1):

@H_874_1@SELECT name FROM myTable WHERE personal_number IN ( SELECT personal_number FROM myTable GROUP BY personal_number HAVING COUNT(*) > 1 )

变式2):

@H_874_1@SELECT personal_number FROM myTable GROUP BY personal_number HAVING COUNT(*) > 1 )

然后,使用PHP,检索的personal_numbers加入为字符串(soemthing像这样’222′,’222′)并运行其他查询

@H_874_1@SELECT name FROM myTable WHERE personal_number IN( here joined String )

变体2的工作速度比变体1快10倍,这对我来说是惊喜,我认为一个查询会更快,但…

(在表中是500000行,列个人编号未编入索引)

那么你对这种情况的意思呢?为什么变体2比变体1快许多?

似乎这个文章 http://www.mysqlperformanceblog.com/2010/10/25/mysql-limitations-part-3-subqueries提到的子查询速度非常慢.

您应该尽量避免使用子查询并使用加入.

大佬总结

以上是大佬教程为你收集整理的php – 2个不同的小查询vs 1查询与子查询全部内容,希望文章能够帮你解决php – 2个不同的小查询vs 1查询与子查询所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。