Clustered 와 NonClustered 인덱스
클러스터 형 인덱스
- 데이터가 테이블에 물리적으로 저장 되는 순서를 정의(설정)함. 즉 클러스터형 인덱스는 특정 컬럼을 기준으로 데이터들을 정렬 시킴
- 테이블 데이터는 오직 한 가지의 방법으로만 정렬되기 때문에 오직 테이블 당 하나의 클러스터 형 인덱스만 존재할 수 있음
- PK로 잡으면 자동으로 클러스터 형 인덱스로 설정 되기에 자료가 자동으로 정렬됨
NonClustered 인덱스
- 테이블에 저장된 물리적인 순서에 따라 데이터를 정렬하지 않는다. 즉 순서대로 정렬되어 있지 않다.
- 논 클러스터형 인덱스는 테이블 데이터와 함께 테이블에 저장되는 것이 아니라 별도의 장소에 저장됨.
Clustered | Non-Clustered |
항상 순서를 유지한다 | 순서와 상관 없다 |
한 테이블당 하나만 존재한다(테이블 인덱스) | 한 테이블에 여러개 생성할 수 있다 |
범위 검색에 유리하다 (군집화) | index를 저장할 추가적인 공간이 필요하다 |
데이터가 많아 질수록 insert 성능이 나빠진다 | insert시 추가 작업(별도의 공간에 인덱스 생성)이 필요하다 |