Clustered Index Seek Showplan 运算符

更新日期: 2006 年 12 月 12 日

Clustered Index Seek 运算符可以利用索引的查找功能从聚集索引中检索行。Argument 列包含所使用的聚集索引名称和 SEEK:() 谓词。存储引擎仅使用索引来处理满足此 SEEK:() 谓词的行。它还包括 WHERE:() 谓词,其中存储引擎对满足 SEEK:() 谓词的所有行进行计算,但此操作是可选的,并且不使用索引来完成此过程。

如果 Argument 列包含 ORDERED 子句,则表示查询处理器已决定必须按聚集索引排序行的顺序返回行。如果没有 ORDERED 子句,存储引擎将以最佳方式搜索索引,而不对输出进行必要的排序。若允许输出保持顺序,则效率可能比生成非排序输出的效率低。

出现关键字 LOOKUP 时,将执行书签查找。在 SQL Server 2005 Service Pack 2 中,Key Lookup 运算符提供书签查找功能。

Clustered Index Seek 既是一个逻辑运算符,也是一个物理运算符。

Clustered Index Seek 运算符图标图形执行计划图标

示例

下面的示例从表中删除了具有聚集索引的行。执行计划的输出表明:查询优化器使用 Clustered Index Seek 运算符检索指定行。

USE AdventureWorks;
GO
SET NOCOUNT ON;
GO
SET SHOWPLAN_ALL ON;
GO
SELECT Name
FROM Production.UnitMeasure
WHERE UnitMeasureCode BETWEEN 'Each' AND 'Inch';
GO
SET SHOWPLAN_ALL OFF;

Clustered Index Seek 运算符的执行计划输出显示如下。

PhysicalOp 
-----------------------------------------------------------------------
Clustered Index Seek

Argument
-----------------------------------------------------------------------
OBJECT:([AdventureWorks].[Production].[UnitMeasure].[PK_UnitMeasure_UnitMeasureCode]), 
SEEK:([AdventureWorks].[Production].[UnitMeasure].[UnitMeasureCode] >= 
    CONVERT_IMPLICIT(nvarchar(4000),[@1],0) AND 
    [AdventureWorks].[Production].[UnitMeasure].[UnitMeasureCode] 
<= CONVERT_IMPLICIT(nvarchar(4000),[@2],0)) ORDERED FORWARD

请参阅

任务

如何显示实际执行计划

参考

Clustered Index Scan Showplan 运算符
Key Lookup Showplan 运算符

概念

逻辑运算符和物理运算符引用
聚集索引结构
通过使用 Showplan SET 选项显示执行计划 (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 12 月 12 日

新增内容:
  • 添加了有关 Key Lookup 运算符的内容。

2006 年 7 月 17 日

新增内容:
  • 添加了“示例”部分。