본 포스트는 Microsoft TechNet의 [논리 및 물리 연산자 참조]내용을 참고하여 정리한 내용이다.
Clustered Index Delete 연산자는 물리 연산자로써, 쿼리 실행 계획의 Argument 열에 지정된 클러스터형 인덱스에서 행을 삭제한다.
당연히 해당 테이블에 클러스터형 인덱스가 정의되어 있을 경우에만 유효하다.
클러스터형 인덱스의 최하위 리프 레벨에는 실제 데이터가 저장되어 있으므로 클러스터형 인덱스에서 WHERE 조건에 부합되는 행을 제거하는 것이다.
그래프 실행 계획 아이콘
Clustered Index Delete 연산자의 예
이해를 돕기 위해 dbo.ClusteredIndexDeleteTest 이름으로 테이블을 작성하고 col1에 Clustered Index를 작성하겠다.
CREATE TABLE dbo.ClusteredIndexDeleteTest
INSERT INTO dbo.ClusteredIndexDeleteTest (col2) VALUES ('A');
SELECT * FROM dbo.ClusteredIndexDeleteTest
Result>> col1 col2 |
이제 col1 _ 1인 데이터를 삭제해 보겠다.
SET NOCOUNT ON
SET SHOWPLAN_ALL ON
DELETE FROM dbo.ClusteredIndexDeleteTest
SET SHOWPLAN_ALL OFF |
텍스트 실행 계획
SttText |
DELETE FROM dbo.ClusteredIndexDeleteTest WHERE col1 = 1 |--Clustered Index Delete (OBJECT:([AdventureWorks].[dbo].[ClusteredIndexDeleteTest]...., |
그래픽 실행 계획
|