共用方式為


叢集索引搜尋 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 運算子來擷取指定的資料列。

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

請參閱

工作

如何:顯示實際執行計劃

參考

叢集索引掃描 Showplan 運算子
Key Lookup Showplan 運算子

概念

邏輯與實體運算子參考
叢集索引結構
使用 Showplan SET 選項來顯示執行計劃 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 12 月 12 日

新增內容:
  • 新增有關 Key Lookup 運算子的句子。

2006 年 7 月 17 日

新增內容:
  • 新增<範例>一節。