반응형

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

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

 

Clustered Index Update 연산자는 논리/물리 연산자로써, Argument 열에 지정한 행만 클러스터형 인덱스에서 업데이트 한다.

 

WHERE:() 조건자가 있는 경우에는 조건자에 부합되는 행만 업데이트되고, SET:() 조건자가 있는 경우에는 업데이트된 각 열이 이 값으로 설정된다.

 

그래프 실행 계획 아이콘  

 

 

Clustered Index Update 연산자의 예

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

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

 

Declare @i int

SET @i = 1

 

WHILE @i <= 200

BEGIN

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

    SET @i = @i + 1

END

GO 

 

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

SET NOCOUNT ON
GO

 

SET SHOWPLAN_ALL ON
GO

 

UPDATE dbo.ClusteredIndexUpdateTest

      SET col2 = 'NEW Data'

 WHERE col1 = 10
GO

 

SET SHOWPLAN_ALL OFF
GO

  

텍스트 실행 계획

SttText

       UPDATE dbo.ClusteredIndexUpdateTest          SET col2 = 'NEW Data'     WHERE col1 = 10
  |--Clustered Index Update(OBJECT:([TestDB].[dbo].[ClusteredIndexUpdateTest].[ClusteredIndexUpdateTest_PK])

                                    , SET:([TestDB].[dbo].[ClusteredIndexUpdateTest].[col2] = [Expr1003])

                                    , DEFINE:([Expr1003]=CONVERT_IMPLICIT(varchar(10),[@1],0))

                                    , WHERE:([TestDB].[dbo].[ClusteredIndexUpdateTest].[col1]=CONVERT_IMPLICIT(int,[@2],0)))

 

그래픽 실행 계획


 

 

반응형

+ Recent posts