当前位置:网站首页>子查询和关联查询的区别
子查询和关联查询的区别
2022-08-03 09:08:00 【51CTO】
子查询就是查询中又嵌套的查询,表连接都可以用子查询,但不是所有子查询都能用表连接替换,子查询比较灵活,方便,形式多样,适合用于作为查询的筛选条件,而表连接更适合与查看多表的数据。
子查询不一定需要两个表有关联字段,而连接查询必须有字段关联(所谓的主外键关系)
1,表关联的效率要高于子查询,因为子查询走的是笛卡尔积
2,表关联可能有多条记录,子查询只有一条记录,如果需要唯一的列,最好走子查询
对于数据量多的肯定是用连接查询快些,原因:因为子查询会多次遍历所有的数据(视你的子查询的层次而定),而连接查询只会遍历一次。
但是数据量少的话也就无所谓是连接查询还是子查询,视自己的习惯而定。一般情况下还是用子查询来的好,容易控制。
执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。
优化方式:
可以使用连接查询(JOIN)代替子查询,连接查询不需要建立临时表,因此其速度比子查询快。
子查询和关联查询的效率问题
MSDN对子查询的定义是这样的:
可以将一个查询的结果用作另一个查询的输入。可以将子查询的结果用作使用 IN( ) 函数、EXISTS 运算符或 FROM 子句的语句。
版权声明:本文为博主原创文章,未经博主允许不得转载。
MYSQL
边栏推荐
- xtrabackup
- 【无标题】
- 计算机网络之网络安全
- Machine learning (formula derivation and code implementation)--sklearn machine learning library
- Partition table (1)
- STP普通生成树安全特性— bpduguard特性 + bpdufilter特性 + guard root 特性 III loopguard技术( 详解+配置)
- Laya中关于摄像机跟随人物移动或者点击人物碰撞器触发事件的Demo
- 英文语法-状语从句
- 【微信小程序】底部有安全距离,适配iphone X等机型的解决方案
- 015-平衡二叉树(一)
猜你喜欢
随机推荐
【字节面试】word2vector输出多少个类别
xtrabackup
Redis cluster concept and construction
软体按摩机器人驱动器的设计与仿真
110道 MySQL面试题及答案 (持续更新)
基于二次型性能指标的燃料电池过氧比RBF-PID控制
Guava-字符串工具
行业洞察 | 如何更好的实现与虚拟人的互动体验?
013-Binary tree
JMeter接口自动化发包与示例
What are pseudo-classes and pseudo-elements?The difference between pseudo-classes and pseudo-elements
固件工程师到底是干什么?
dflow入门3——dpdispatcher插件
验证浮点数输入
行业 SaaS 微服务稳定性保障实战
Redis集群概念与搭建
110 MySQL interview questions and answers (continuous updates)
SQL每日一练(牛客新题库)——第5天:高级查询
面渣逆袭:MySQL六十六问,两万字+五十图详解
【网络安全】Kail操作系统