반응형

본 포스트는 Microsoft TechNet의 [논리 및 물리 연산자 참조]내용을 참고하여 정리한 내용이다.

※실행 계획 연산자 전체 보기

 

Clustered Index Seek 연산자는 논리/물리 연산자로써, Argument 열에 공급 받은 SEEK:() 조건자에 부합되는 행만 클러스터형 인덱스에서 검색한다.

 

Argument 열에 ORDERED 절이 있으면 쿼리 프로세서는 클러스터형 인덱스가 정렬한 순서대로 행을 반환하며, ORDERED 절이 없으면 저장소 엔진은 출력을 정렬하지 않고 최적의 방법으로 인덱스를 검색한다.

 

키워드 LOOKUP을 사용하면 책갈피 조회가 수행된다. SQL Server 2005 SP2 부터는 Key Lookup 연산자가 책갈피 조회 기능을 제공한다.

 

그래프 실행 계획 아이콘  

 

Clustered Index Seek 연산자의 예

이해를 돕기 위해 dbo.ClusteredIndexSeekTest 이름으로 테이블을 작성하고 col1에 Clustered Index를 작성하겠다.

CREATE TABLE dbo.ClusteredIndexSeekTest
( col1 INT Identity(1, 1),
  col2 VARCHAR(10),
  CONSTRAINT ClusteredIndexSeekTest_PK
     PRIMARY KEY CLUSTERED (col1) WITH FILLFACTOR = 100)
GO

 

Declare @i int

SET @i = 1

 

WHILE @i <= 200

BEGIN

    INSERT INTO dbo.ClusteredIndexSeekTest(col2) values ('Data');

    SET @i = @i + 1

END

GO

 

 

이제 Clustered Index를 이용하여 검색해 보겠다.

SET NOCOUNT ON
GO

 

SET SHOWPLAN_ALL ON
GO

 

SELECT *

  FROM dbo.ClusteredIndexSeekTest

 WHERE col1 = 10
GO

 

SET SHOWPLAN_ALL OFF
GO

  

텍스트 실행 계획

SttText

       SELECT *      FROM dbo.ClusteredIndexSeekTest     WHERE col1 = 10
  |--Clustered Index Seek(OBJECT:([TestDB].[dbo].[ClusteredIndexSeekTest].[ClusteredIndexSeekTest_PK])

                                 , SEEK:([TestDB].[dbo].[ClusteredIndexSeekTest].[col1]=CONVERT_IMPLICIT(int,[@1],0))

                                   ORDERED FORWARD)

 

그래픽 실행 계획

 


 

반응형

+ Recent posts