Clustered Index Scan 与 Clustered Index Seek

在利用 SQL Server 查询分析器的执行计划中,会有许多扫描方式,其中就有 Clustered Index Scan 与 Clustered Index Seek,这二者有什么区别呢?

Clustered Index,为聚集索引,表示它们使用的都是聚集索引扫描。

Scan 表示它扫描一个范围或者是全部内容,Seek 表示扫描特定范围内的行。也就是说 Scan 并不知道要目标行是哪些,而 Seek 扫描表明我已经知道我要找的目标行是哪些,所以 Seek 一般要快些。

看看下面的语句,哪个(些)是 Scan 扫描,哪些是 Seek 扫描呢?

use master
go
select * from sysobjects
select * from sysobjects where name like 'sys%'
select * from sysobjects where id<3

由于 sysobjects 表是对 id 建的聚集索引,所以前两个查询语句使用的是 Scan,后面一个使用的是 Seek。

ScanAndSeek
Clustered Index Scan 与 Clustered Index Seek 的图标

你可能感兴趣的:(cluster)