2012-09-29 3 views
1

누구든지 테이블에서 열을 삭제할 때 색인이 어떻게되는지 알 수 있습니까?SQL Server가 열 재 작성 인덱스를 삭제합니까?

SQL Server에서 해당 인덱스를 다시 작성합니까? 그것이 클러스터 된 인덱스라면?

나는 1 억 5 천만 개의 행 테이블을 가지고 있으며, 하나의 열을 삭제해야합니다. 클러스터 된 인덱스로 주문하면 테이블을 다시 작성합니까? 아니면 인덱스가 열의 하나가 삭제되었음을 이해하고 있습니까?

답변

0

인덱스가 "그냥 이해할 수있는"것이 아닙니다. 색인에 사용 된 모든 열이 쿼리에 사용되는 경우 복합 인덱스는 쿼리 엔진에서만 사용할 수 있습니다. 인덱스에 대한 인덱스가있는 다중 레벨 인덱스입니다 (의미가있는 경우). 인덱스 정의에서 컬럼의 순서는 빌드되는 실제 인덱스를 구조화합니다. 열을 삭제하면이 색인을 삭제하고 새 색인을 작성해야합니다.

0

열에 따라 다릅니다. 인덱스가 클러스터 된 인덱스 또는 클러스터되지 않은 인덱스의 인덱스 열로 사용되는 경우 영향을받는 인덱스를 먼저 삭제하지 않으면 해당 인덱스를 삭제할 수 없습니다.

열을 인덱스 열로 사용하지 않으면 인덱스 열을 삭제할 수 있으며 클러스터형 인덱스 이 아닌이 다시 작성됩니다. 그러나 테이블의 사용 된 공간은 클러스터 된 인덱스를 다시 작성할 때까지 변경되지 않습니다.

편집 : 참조 : http://msdn.microsoft.com/en-us/library/ms190273.aspx