클러스터 인덱스는 다음 두 조건이 만족할 때만 생성된다.
테이블에 클러스터 인덱스를 적용할 때마다 그 테이블에 정렬 작업이 수반된다. 클러스터 인덱스는 Primary Key처럼 한 테이블에 한 개만 생성할 수 있다. 또한, 클러스터 인덱스는 데이터를 가리키는 포인터가 아닌 데이터를 저장한 블록의 포인터를 저장한다.
비 클러스터 인덱스는 책의 색인(Index)과 같은 역할을 한다. 데이터와 인덱스는 각각 다른 장소에 저장되므로 한 테이블에 여러 개의 비 클러스터 인덱스를 생성할 수 있다. 또한, 비 클러스터 인덱스는 데이터를 가리키는 포인터를 저장한다.
기준 | 클러스터 인덱스 | 비 클러스터 인덱스 |
---|---|---|
속도 | 빠르다 | 느리다 |
사용 메모리 | 적다 | 많다 |
인덱스 | 인덱스가 주요 데이터 | 인덱스가 데이터의 사본(Copy) |
개수 | 한 테이블에 한 개 | 한 테이블에 여러 개(최대 약 250개) |
리프 노드 | 리프 노드 자체가 데이터 | 리프 노드는 데이터가 저장되는 위치 |
저장값 | 데이터를 저장한 블록의 포인터 | 값과 데이터의 위치를 가리키는 포인터 |
정렬 | 인덱스 순서와 물리적 순서가 일치 | 인덱스 순서와 물리적 순서가 불일치 |
참고 사이트