mysql in和多表查询的效率问题

mysql in和多表查询的效率问题,第1张

SELECT b.id FROM t_address a, t_unit b WHERE b.utj=1 AND b.ufreeze=2 AND a.id=b.uads and a.sid=3

就这个啦!!

原因很简单

b.utj=1不满足的话,那么系统就直接找下一个数据

用的in的话,如果第一个不满足,那么就匹配第二个,第二个不满足,在匹配第三个

,全部不匹配 才找下一条数据!!

这个就可以看到了,可能用IN的话,效率可能会减慢3倍,打个比方

在查询效率上,是第一个快

但是在对服务器的io压力上,倾向于使用第二个

因为一次查询就是一次mysql链接,占一个磁盘io。而且mysql一般的链接数是2000.你这一循环就一下占100个链接,虽然不会那么夸张,但是如果是高并发的情况。。就不容乐观了。

所以推荐使用第二个。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7508874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存