인덱싱의 여왕 Kimberly Tripp이이 주제에 대해 뭐라고 말했는지 확인하고 싶습니다.
몇 가지 이유로 클러스터링 키에 대한 권장 사항부터 시작하겠습니다. 첫째, 쉬운 결정이고 둘째,이 결정을 일찍 내리면 일부 유형의 조각화를 사전에 방지하는 데 도움이됩니다. 특정 유형의 기본 테이블 조각화를 방지 할 수있는 경우 일부 유지 관리 작업을 최소화 할 수 있습니다 (일부, SQL Server 2000 및 그보다 적은 경우 SQL Server 2005). 좋아, 나중에 재 구축에 대해 알아볼 게 .....
클러스터링 키에서 찾은 주요 사항부터 시작하겠습니다.
* Unique
* Narrow
* Static
왜 독특한가?
클러스터링 키 (있는 경우)가 모든 비 클러스터형 인덱스의 조회 키로 사용되기 때문에 클러스터링 키는 고유해야합니다. 예를 들어 책 뒷면의 색인을 살펴 보겠습니다. 색인 항목이 가리키는 데이터를 찾아야하는 경우 해당 항목 (색인 항목)은 고유해야합니다. 그렇지 않은 경우에는 어떤 색인 항목이 찾고 있는지 확인합니다. ? 따라서 클러스터형 인덱스를 만들 때 고유해야합니다. 그러나 SQL Server에서는 고유 한 열에 클러스터링 키를 만들 필요가 없습니다. 원하는 열에 만들 수 있습니다. 내부적으로 클러스터링 키가 고유하지 않은 경우 SQL Server는 데이터에 4 바이트 정수를 추가하여이를 "고유 화"합니다. 따라서 클러스터형 인덱스가 고유하지 않은 항목에 생성되면 인덱스 생성시 추가 오버 헤드가있을뿐만 아니라 낭비되는 디스크 공간이 있습니다.
출처 : 계속 증가하는 클러스터링 핵심 논쟁-다시!