2010-07-08 3 views
8

기본 키 (기본 ID 열)로 IDENTITY 열이있는 테이블이 있습니다.SQL Server의 복합 클러스터 된 인덱스

SQL Server는 해당 기본 키에 대해 클러스터 된 인덱스를 자동으로 만듭니다.

내 질문은 :

  • 나는 더 열이있는 경우에만 하나의 클러스터 된 인덱스의 합성을 할 수 있습니까?

그렇다면 기본 클러스터형 인덱스를 삭제하고이 특성을 사용하여 새 클러스터 인덱스를 다시 만들 수 있습니다. 귀하의 지원에 대한

감사

답변

14

예, 당신은 단지 테이블 당 하나의 클러스터 된 인덱스 할 수 있습니다 - 데이터가 물리적으로 그 인덱스로 배열된다, 그래서 당신은 하나 이상을 가질 수 있습니다.

그러나 클러스터 된 인덱스를 사용하는 것이 좋습니다. 왜? 클러스터 된 인덱스는 항상해야하기 때문에 :

  • 가능한 한 작은 - 당신의 모든 인덱스
  • 독특한 통해 업데이트 졸졸하지 않아도, 결코 변경 - 4 바이트와 INT는
  • 안정 완벽 - 그렇지 않으면, SQL 서버가있을 것이다에 "uniquify는"인공 4 바이트와 항목이
  • 최적이 될 것 값 : 지금까지

INT의 IDENTITY 클러스터 된 인덱스로 완벽 증가 - 난 당신이 그쪽으로 유지 권합니다 t 길.

클러스터 된 인덱스 열 (또는 열 집합)은 동일한 테이블의 각 클러스터되지 않은 인덱스의 모든 항목에 추가됩니다. 따라서 클러스터 된 인덱스를 20, 50 바이트 이상으로 만들면 디스크 및 서버의 메모리에 많은 공간을 낭비하기 시작합니다. 이는 일반적으로 시스템 성능을 저하시킵니다.

클러스터 된 인덱스에 대한 모든 읽기 및 그들은 여기에 좋은 클러스터 인덱스를 할 수 있어야 무엇을 : 당신의 시간을

+1

감사합니다! – GibboK

관련 문제