脚本宝典收集整理的这篇文章主要介绍了php – 在MySQL中编写子查询是一个好习惯吗?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
SELECT count(*) From table1 WHERE userB='$p' AND userA IN (SELECT userB From table1 WHERE userA='$row[username]')
将SQL查询保留在PHP或存储过程圣战中,最少的@L_512_6@访问是最佳实践.有时间到数据库&无法恢复的后退,并且分离查询会在查询之间存在数据更改的风险.
SELECT COUNT(*) FROM TABLE t JOIN TABLE t2 ON t2.userB = t.userA AND t2.userA = '$row[username]' WHERE t.userB = '$p'
如果您真的想确定查询性能,那么您必须熟悉生成解释计划&解释输出以调整查询.
什么是解释计划?
MysqL解释计划显示了MySQL查询优化器如何决定运行SELECT语句以便最好地访问已请求的数据.
如何生成解释计划?
在MysqL中,您只需在SELECT关键字之前将关键字explain添加到SELECT查询中. IE:
EXPLAIN SELECT COUNT(*) FROM TABLE t JOIN TABLE t2 ON t2.userB = t.userA AND t2.userA = '$row[username]' WHERE t.userB = '$p'
可能应该早些提到过这个,但是你不想在PHP中运行它,因为它不会返回你查询的内容.使用任何sql IDE,如PHPMyAdmin / etc.
我有我的解释计划,但它意味着什么?!
MySQL EXPLAIN documentation是一个阅读每个返回列的好地方,&列代表什么.
以上是脚本宝典为你收集整理的php – 在MySQL中编写子查询是一个好习惯吗?全部内容,希望文章能够帮你解决php – 在MySQL中编写子查询是一个好习惯吗?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。