- 3
- 0
- 约4.03千字
- 约 13页
- 2019-08-28 发布于江苏
- 举报
浅谈SQL Server中的三种物理连接操作
简介
在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join这三种物理连接中的一种。理解这三种物理连接是理解在表连接时解决性能问题的基础,下面我来对这三种连接的原理,适用场景进行描述。
嵌套循环连接(Nested Loop Join
循环嵌套连接是最基本的连接,正如其名所示那样,需要进行循环嵌套,嵌套循环是三种方式中唯一支持不等式连接的方式,这种连接方式的过程可以简单的用下图展示:
图1.循环嵌套连接的第一步
图2.循环嵌套连接的第二步
由上面两个图不难看出,循环嵌套连接查找内部循环表的次数等于外部循环的行数,当外部循环没有更多的行时,循环嵌套结束。另外,还可以看出,这种连接方式需要内部循环的表有序也就是有索引),并且外部循环表的行数要小于内部循环的行数,否则查询分析器就更倾向于Hash Join(会在本文后面讲到。
通过嵌套循环连接也可以看出,随着数据量的增长这种方式对性能的消耗将呈现出指数级别的增长,所以数据量到一定程度时,查询分析器往往就会采用这种方式。
下面我们通过例子来看一下循环嵌套连接,利用微软的AdventureWorks数据库:
图3.一个简单的嵌套循环连接
您可能关注的文档
- QL-3K型三相电流表发布版.doc
- QL-60Y型三相多功能电力仪表.doc
- QLE-9S4型三相多功能电力仪表.doc
- QLY-9S4型三相多功能电力仪表.doc
- QQ-室内装饰装修管理服务协议A.doc
- QQ空间玩家必备十大技巧.doc
- QtEmbedded在嵌入式Linux系统中的使用.doc
- QMGJGE关键零部件可靠性测试标准.doc
- Qw设备维修管理系统在我国电厂的实践与完善.doc
- QWG0109Ⅱ主给水泵维修规程.doc
- 19世纪历史兰克史学客观主义史学专业史学确立研究——基于19世纪史学研究史学史反思与批判.docx
- 联合国海藻促进发展:包容性增长的贸易、法规和标准.docx
- 初中低年级信息科技算法教学学生逻辑思维——基于算法任务逻辑思维评分.docx
- 初中低年级语文阅读教学学生文本细读能力——基于阅读笔记与文本分析评分.docx
- 初中高年级公民教育项目学习学生参与能力——基于项目参与记录与能力测评.docx
- 初中高年级几何证明教学学生推理严谨性培养——基于2024年证明过程逻辑错误分析.docx
- 初中家校协同学生心理健康促进效果研究——基于2024年协同记录与心理健康数据.docx
- 初中教师反思实践与专业成长关联机制研究——基于2024年反思记录与成长测评数据.docx
- 初中中年级法治教育情境教学学生规则理解——基于2023年情境测试规则应用评分.docx
- 对外投资合作国别(地区)指南:多 哥.docx
原创力文档

文档评论(0)