首页 > 数据库技术 > 详细

mysql in与exists区别

时间:2019-12-05 11:38:36      阅读:63      评论:0      收藏:0      [点我收藏+]

1、exists是对外表做loop循环,每次loop循环再对内表(子查询)进行查询,那么因为对内表的查询使用的索引(内表效率高,故可用大表),而外表有多大都需要遍历,不可避免(尽量用小表),故内表大的使用exists,可加快效率;

2、in是把外表和内表做hash连接,先查询内表,再把内表结果与外表匹配,对外表使用索引(外表效率高,可用大表),而内表多大都需要查询,不可避免,故外表大的使用in,可加快效率。

结论简单说:外小内大,用exists,外大内小用in,但是我们的情况其实是外大内小,用in是没问题。




 

mysql in与exists区别

原文:https://www.cnblogs.com/xiqoqu/p/11987731.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!