sql server 表连接类型

Posted tomkluas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 表连接类型相关的知识,希望对你有一定的参考价值。

技术图片

 

技术图片

技术图片

 

 技术图片

 

Nested Loop,Hash Join,Merge Join对比

类别Nested LoopHash JoinMerge Join
使用条件 任何条件 等值连接(=) 等值或非等值连接(>,<,=,>=,<=),‘<>’除外
相关资源 CPU、磁盘I/O 内存、临时空间 内存、临时空间
特点 当有高选择性索引或进行限制性搜索时效率比较高,能够快速返回第一次的搜索结果。 当缺乏索引或者索引条件模糊时,Hash Join比Nested Loop有效。通常比Merge Join快。在数据仓库环境下,如果表的纪录数多,效率高。 当缺乏索引或者索引条件模糊时,Merge Join比Nested Loop有效。非等值连接时,Merge Join比Hash Join更有效
缺点 当索引丢失或者查询条件限制不够时,效率很低;当表的纪录数多时,效率低。 为建立哈希表,需要大量内存。第一次的结果返回较慢。 所有的表都需要排序。它为最优化的吞吐量而设计,并且在结果没有全部找到前不返回数据。

以上是关于sql server 表连接类型的主要内容,如果未能解决你的问题,请参考以下文章

Sql Server数据库之多表查询

用于 4 个表的 SQL Server 2008 连接类型

详解SQL Server连接(内连接外连接交叉连接)

MSSQL 详解SQL Server连接(内连接外连接交叉连接)

sql server 表连接

2017-3-13 SQL server 表连接