클러스터드 인덱스 vs논클러스터드 인덱스

kihoo_ni·2024년 4월 7일

클러스터드 인덱스

  1. 테이블당 한개만 생성가능

  2. 기본키 설정시 해당 필드 전체가 클러스터드 인덱스가 됨.

  3. 인덱스페이지 자체에 해당 db data가 저장됨.

  4. 따라서 물리적인 정렬 순서와 인덱스 정렬 순서가 같음.

  5. 데이터 입력, 수정, 삭제 시 항상 정렬 상태를 유지함.

  6. 논클러스터드 인덱스보다 검색속도가 빠르지만 데이터의 입력, 수정, 삭제속도는 느림.

  7. full scan을 하지 않고 B-tree자료구조를 이용하여 검색속도가 단축됨.


논클러스터드 인덱스

  1. 테이블당 여러개의 인덱스 생성가능.
  1. 인덱스페이지 자체에 db data가 저장되지 않고 data의 주소가 저장됨.

  2. 따라서 물리적인 정렬순서와 인덱스의 정렬 순서는 다름.

  3. 데이터의 원본은 정렬되지 않고, 인덱스 페이지만 정렬됨.

  4. 인덱스페이지 자체는 db data가 위치하는 포인터(RID)이기 때문에 클러스터드 인덱스보다 검색 속도는 더 느리지만 데이터의 입력, 수정, 삭제는 더 빠름.


쉽게 이해해보기

쉽게 이해해보면 우리가 차를 타고 목적지를 갈때 네비게이션 지도를 펴서 목적지를 찾아야하는 과정이 들어가는 것이 논클러스터드 인덱스고 그러한 과정 없이 목적지를 입력만하면 알아서 바로 찾아주는 것이 클러스터드 인덱스다.

참고문헌

코딩 시그널:티스토리

0개의 댓글