Clustered Index Seek 실행 계획 연산자
Clustered Index Seek 연산자는 인덱스 검색 기능을 사용하여 클러스터형 인덱스에서 행을 검색합니다. Argument 열에는 사용할 클러스터형 인덱스의 이름 및 SEEK:() 조건자가 있습니다. 저장소 엔진은 이 인덱스를 사용하여 SEEK:() 조건자에 부합되는 행만 처리합니다. 또한 저장소 엔진은 SEEK:() 조건자에 부합되는 행에 대해서만 평가를 수행하는 WHERE:() 조건자를 포함할 수 있지만 이는 선택적이며 이 작업을 완료하는 데는 인덱스를 사용하지 않습니다.
Argument 열에 ORDERED 절이 있으면 쿼리 프로세서는 클러스터형 인덱스가 정렬한 순서대로 행을 반환합니다. ORDERED 절이 없으면 저장소 엔진은 출력을 정렬하지 않고 최적의 방법으로 인덱스를 검색합니다. 출력 순서를 유지하는 것보다 정렬하지 않고 출력하는 것이 더 효율적일 수 있습니다.
키워드 LOOKUP을 사용하면 책갈피 조회가 수행됩니다. SQL Server 2008에서는 Key Lookup 연산자가 책갈피 조회 기능을 제공합니다.
Clustered Index Seek는 논리/물리 연산자입니다.
그래픽 실행 계획 아이콘
예
다음 예에서는 클러스터형 인덱스가 있는 테이블에서 행을 선택합니다. 실행 계획의 출력에서는 지정한 행을 검색하기 위해 Clustered Index Seek 연산자를 사용하는 쿼리 최적화 프로그램을 보여 줍니다.
USE AdventureWorks2008R2;
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:([AdventureWorks2008R2].[Production].[UnitMeasure].[PK_UnitMeasure_UnitMeasureCode]),
SEEK:([AdventureWorks2008R2].[Production].[UnitMeasure].[UnitMeasureCode] >=
CONVERT_IMPLICIT(nvarchar(4000),[@1],0) AND
[AdventureWorks2008R2].[Production].[UnitMeasure].[UnitMeasureCode]
<= CONVERT_IMPLICIT(nvarchar(4000),[@2],0)) ORDERED FORWARD