SQL Server的三种物理连接之Loop Join(一)
Sql Server有三种物理连接Loop Join,Merge Join,Hash Join, 当表之间连接的时候会选择其中之一,不同的连接产生的性能不同,理解这三种物理连接对性能调优有很大帮助。
Nested Loop Join
简介
两表连接就相当于二重循环,从A表抽一条记录,遍历B表查找匹配记录,然后从a表抽下一条,遍历B表
例如:
IF OBJECT_ID('dbo.Tbl10') IS NOT NULL DROP TABLE dbo.Tbl10;
CREATE TABLE dbo.Tbl10(
Id INT IDENTITY(1,1),
Val INT,
Fill CHAR(7000) NOT NULL DEFAULT REPLICATE('Fill',1750)
); IF OBJECT_ID('dbo.Tbl100') IS NOT NULL DROP TABLE dbo.Tbl100;
CREATE TABLE dbo.Tbl100(
Id INT IDENTITY(1,1),
Val INT,
Fill CHAR(7000) NOT NULL DEFAULT REPLICATE('Fill',1750)
); INSERT INTO dbo.Tbl10(Val)
SELECT TOP(10) 1+ROW_NUMBER()OVER(ORDER BY (SELECT 1))%100
FROM sys.all_columns A, sys.all_columns B, sys.all_columns C; INSERT INTO dbo.Tbl100(Val)
SELECT TOP(100) ROW_NUMBER()OVER(ORDER BY (SELECT 1))
FROM sys.all_columns A, sys.all_columns B, sys.all_columns C; SELECT index_type_desc, alloc_unit_type_desc, index_depth, page_count, record_count
FROM sys.dm_db_index_physical_stats(DB_ID(),OBJECT_ID('dbo.Tbl10'),NULL,NULL,'SAMPLED'); SELECT index_type_desc, alloc_unit_type_desc, index_depth, page_count, record_count
FROM sys.dm_db_index_physical_stats(DB_ID(),OBJECT_ID('dbo.Tbl100'),NULL,NULL,'SAMPLED');
表被设计为每一行都占用一页。
aaarticlea/png;base64,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" alt="" />
通过上面查询结果可以看出表都没有聚集索引,执行下面代码:
SET STATISTICS IO ON;
GO
SELECT *
FROM dbo.Tbl100 A
INNER LOOP JOIN dbo.Tbl10 B
ON A.Val = B.Val;
GO
SET STATISTICS IO OFF;
查询中用到了loop 提示,所以使用的物理连接是nested loop join
aaarticlea/png;base64,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" alt="" />
可以看到对表dbo.Tbl10扫描了100次,对外表dbo.Tbl100的每一行都扫描一次表dbo.Tbl10,可以通过SET STATISTICS IO ON,查看:
(10 row(s) affected)
Table 'Tbl10'. Scan count 1, logical reads 1000, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Tbl100'. Scan count 1, logical reads 100, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
因为在表Tbl10上的逻辑读是1000次,表一共有10页,所以整个表被读取了100次。
可以想象执行效率是很低的,我们可以在内层表上加上聚集索引优化查询,内层表如果没有索引就会表扫描,如果加了聚集索引就会使用索引查找。
在表Tbl10上添加聚集索引:
CREATE UNIQUE CLUSTERED INDEX [dbo.Tbl10(Val, Id) CL] ON dbo.Tbl10(Val, Id);
再次执行loop join查询
aaarticlea/png;base64,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" alt="" />
通过sys.dm_db_index_physical_stats 查看 index depth, index depth 决定了执行一次查找需要读多少次。
aaarticlea/png;base64,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" alt="" />
这个执行计划现在不算是一个真正的嵌套循环了。SQL Server仍然通过左输入循环一行一次。但它不循环第二个输入。相反,它是通过直接查找读取需要的行。然而,查找仍执行了100次。因此,我们可以预期200个读取发生在该表。让我们来看一下统计数据SET STATISTICS IO ON:
Table 'Tbl10'. Scan count 100, logical reads 227, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Tbl100'. Scan count 1, logical reads 100, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
发现有227个读取,比预期的要多一些,这些额外的读取是因为需要访问额外的元数据页, 如IAM页(索引分配映射(Index Allocation Map:IAM)http://www.tuicool.com/articles/UVZ7Bj)。
Loop Join 优点和缺点:
- 跟merge join和hash join相比只有一步,merge join在join之前需要排序,hash join在join之前需要构建哈希表
- 只要找到一个匹配就立即返回。merge join在没有排完序之前不能返回,hash join在哈希表构建完成前也不能返回。
- 它是唯一的可以处理非等连接的算法。
- 在右输入上一个合适的索引可以节省大量的读取。
- 如果在右输入上没有可用的索引,必须完全读取每一行,使此算法非常昂贵(特别是在大数据集上)。
引用博客
http://sqlity.net/en/1471/a-join-a-day-the-nested-loops-join/
http://www.cnblogs.com/CareySon/archive/2013/01/09/2853094.html
http://www.2cto.com/database/201301/186885.html
SQL Server的三种物理连接之Loop Join(一)的更多相关文章
- SQL Server的三种物理连接之Hash Join(三)
简介 在 SQL Server 2012 在一些特殊的例子下会看到下面的图标: Hash Join分为两个阶段,分别为生成和探测阶段. 首先是生成阶段,将输入源中的每一个条目经过散列函数的计算都放到不 ...
- SQL Server的三种物理连接之Merge join(二)
简介 merge join 对两个表在连接列上按照相同的规则排序,然后再做merge,匹配的输出. 下面这个动态图展示了merge join的详细过程. merge join示例 创建两个表 IF O ...
- 浅谈SQL Server中的三种物理连接操作(HASH JOIN MERGE JOIN NESTED LOOP)
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- Sql Server中三种字符串合并方法的性能比较
文章来自:博客园-DotNet菜园 最近正在处理一个合并字符吕的存储过程,在一个测试系统的开发中,要使用到字符串合并功能,直接在Sql中做.示例:有表內容﹕名称 內容1 abc1 ...
- SQL SERVER数据库 三种 恢复模式
SQL SERVER 2005 以后三种恢复模式: 简单(Sample),完全(Full),大批量(Bulk_Logged) 完全备份模型 完全备份模式是指在出现数据文件毁坏时丢失数据的风险最小.如果 ...
- 启动和停止SQL Server服务三种形式
1.后台启动和停止服务 计算机>右键>管理>服务和应用>服务>sqlserver(MSSSQLSERVER) 2.配置管理器启动和停止服务 开始>所有程序>M ...
- SQL Server的三种分页方式
直接上代码 --top not in方式 select top 条数 * from tablename where Id not in (select top 条数*页数 Id from tablen ...
- SQL Server 的三种用户自定义函数
create function fun_A() #标题函数.create function fun_name() returns output_type as begin return value ...
- SQL SERVER数据库三种数据插入方式
数据插入:INSERT INTO A(CBM,CMC) VALUES('1','测试')--单条数据插入INSERT INTO A(CBM,CMC)SELECT '1','测试'--单条数据插入INS ...
随机推荐
- 线程暴长~Quartz中创建Redis频繁后导致线程暴长
在最近项目开发过程中,在进行任务调度处理过程中,出现了一个问题,它的线程数暴长,从20多个可以到1000多个,如果你的服务器性能好的话,可以到10000多个,太恐怖了,就算你的服务再好,早晚有一天也会 ...
- nrpe 在ubuntu上安装遇到的问题
Nagios Linux客户端需要安装NRPE进行数据收集,如果在Ubuntu系统下安装过程中遇到下面的错误提示:checking for SSL libraries... configure: er ...
- 【不积跬步,无以致千里】关闭631端口cups打印服务和8009端口ajp
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- cocos2d-x 缓动曲线
转自:http://blog.csdn.net/cocos2der/article/details/7261808 在实现运动中,我们常常需要实现一些加速度或者减速度的效果,cocos2d-x引擎为我 ...
- 理解TCP可靠的通信
1.TCP通信是可靠的,UDP通信是不可靠的.TCP是怎么保证通信可靠的呢? 2.实际项目中,用到串口通信,也要保证通信可靠,TCP的道理应该也是一样的. 3.通信之前,三次握手.可以这样认为:a.甲 ...
- Codeforces Testing Round #12 A. Divisibility 水题
A. Divisibility Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/597/probl ...
- MultiCardMenu
https://github.com/wujingchao/MultiCardMenu MultiCardMenu-master.zip
- Nginx 1.4.7图片缓存服务器
软件包版本: Nginx 1.4.7 Ngx_cache_purge-2.0 Openssl-1.0.1 Pcre-8.32 二.安装编译: a) 下载pcre-8.32.tar.gz ...
- python源码解析
http://blog.csdn.net/balabalamerobert/article/category/168910
- linq小知识总结
1linq的左连接查询 var boundList = from x in text.S_Outbound join y in text.S_Outbound_Per on x.Shipment_ID ...