码迷,mamicode.com
首页 > 数据库 > 详细

sql server 表连接类型

时间:2019-07-18 09:37:10      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:时空   哈希表   连接   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 表连接类型

标签:时空   哈希表   连接   server   查询条件   使用   搜索结果   表连接   磁盘   

原文地址:https://www.cnblogs.com/tomkluas/p/11204946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!