클러스터드 인덱스
- 테이블 당 하나만 만들 수 있는 인덱스이다.
- 설정한 인덱스값을 정렬하여 데이터를 물리적으로 재배치한다.
- 물리적으로 재배치를 해놓기 때문에 리프노드에 해당 레코드 자체를 저장한다.
- 따라서 리프노드에 인덱스에 해당하는 레코드가 모인 페이지 정보를 저장하는 논클러스터드 인덱스에 비해 용량이 작고, 검색속도가 빠르다.
- CUD가 일어날 때 물리적 재배치를 해야 하기 때문에 CUD성능이 느려진다.
- 테이블 생성시 PK컬럼에 자동생성된다.
논클러스터드 인덱스
- 테이블 당 최대 249개 만들 수 있다.
- 설정한 인덱스를 루트노드로 정렬하고 루트노드에 딸린 리프 노드 페이지에 해당 인덱스에 해당하는 레코드의 위치를 저장한다.
- 클러스터드 인덱스에 비해 중간에 만들어진 인덱스 페이지가 존재하기 때문에 조회성능이 떨어지고, 용량도 더 차지한다.
- 클러스터드 인덱스에 비해 CUD가 빠르다.
- 넌클러스터드 인덱스로 검색을 하면 결국 PK를 가지고 클러스터드 인덱스로 가서 해당되는 값을 찾아온다