mysql中in和exists的区别是什么
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍mysql中in和exists的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!exists和in的区别有:in是把外表和内表做hash连接,先查询内表
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
数据库损坏
18年网络安全宣传的主题
惠州数字软件开发报价表
传奇db数据库的作用
TCL通力电子软件开发岗
电子政务网络安全管理案例
医院基本统计指标数据库
学软件开发一般去什么培训班
网络技术层级
如何获得员工对网络安全的认同
大型数据库设计规范
pve集群服务器配置不一样
删除数据库表中某条数据
gta5单机数据库再哪里
公安网络安全大检查
辽宁警察学院网络安全与执法课程
pb数据库创建
在广州用什么打车软件开发
中国移动网络安全等级
服务器对ip绑定
java数据库编程题
服务器的主机名是什么
域名与服务器区别
台州数据库培训机构
江口软件开发系统
发啦网络安全手抄报
软件开发基础pdf下载网盘
国信证券交易软件开发
筑牢网络安全防线考试
数据库分别指的啥