mysql中in和exists的区别是什么
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍mysql中in和exists的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!exists和in的区别有:in是把外表和内表做hash连接,先查询内表
千家信息网最后更新 2026年11月01日mysql中in和exists的区别是什么
这篇文章主要介绍mysql中in和exists的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
exists和in的区别有:in是把外表和内表做hash连接,先查询内表;exists是对外表做loop循环,循环后在对内表查询;在外表大的时用in效率更快,内表大用exists更快
exists和in的区别
#对B查询涉及id,使用索引,故B表效率高,可用大表 -->外小内大select * from A where exists (select * from B where A.id=B.id);
#对A查询涉及id,使用索引,故A表效率高,可用大表 -->外大内小select * from A where A.id in (select id from B);
(1)exists是对外表做loop循环,每次loop循环再对内表(子查询)进行查询,那么因为对内表的查询使用的索引(内表效率高,故可用大表),而外表有多大都需要遍历,不可避免(尽量用小表),故内表大的使用exists,可加快效率;
(2)in是把外表和内表做hash连接,先查询内表,再把内表结果与外表匹配,对外表使用索引(外表效率高,可用大表),而内表多大都需要查询,不可避免,故外表大的使用in,可加快效率。
(3)如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in。
以上是mysql中in和exists的区别是什么的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
查询
外表
效率
索引
循环
对内
不可避免
两个
内容
更快
查询表
不大
价值
兴趣
大小
小伙
小伙伴
差别
更多
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网新科技
深圳恒合互联网络科技有限公司
互联网科技有限公司图片
上海互联网科技有限公司
互联网科技logo
互联网科技的未来发展
互联网科技公司介绍
居家互联网科技有限公司
济南和联互联网科技有限公司
卫星互联网科技股票
中国科技互联网公司收入
互联网教育科技公司vipkid
福州新华互联网科技学校 知乎
栖莱科技互联网股份有限公司
青岛科技大学互联网大赛研究生
四川慕妮娅互联网科技有限公司
智帮互联网科技公司最近动向
2021世界互联网领先科技成果发布
世界互联网科技成果奖
科技互联网专业务虚会材料
深圳恒合互联网络科技有限公司
互联网科技有限公司图片
平安科技 互联网
狮子座互联网科技有限公司
新华互联网科技校企合作
昭通云南众福互联网科技有限公司
为客找房互联网科技公司怎么样
启辰互联网科技
云鲸互联网络科技有限公司
广东猫王互联网科技有限公司电话