DB

[DataBase] 인덱스와 넌인덱스 특징 & 차이

JUNGKEUNG 2021. 11. 21. 18:59

클러스터 인덱스


  • 클러스터 인덱스를 구성하려면 행 데이트를 해당 열로 정렬한 후에 루트 페이지를 만들게 된다. 즉 데이터페이지는 리프노드와 같은 것을 확인 할 수있다
     
  • 인덱스를 생성할 때는 데이터 페이지 전체를 다시 정렬한다.
     
  • 대용량의 데이터를 강제로 다시 클러스터 인덱스를 생성하는 건 조심
     
  • 인덱스 자체가 데이터 페이지이다. 인덱스 자체에 데이터가 포함
     
  • 비클러스형 인덱스 보다 검색 속도는 더 빠르다. 하지만 데이터의 입력/수정/삭제는 느리다.
     
  • 테이블에 한 개만 생성할 수 있다.

출처: https://junghn.tistory.com/

 

 

 

넌 클러스터 인덱스


넌 클러스트형 인덱스는 데이터 페이지를 건들지 않고, 별도의 장소에 인덱스 페이지를 생성한다. 우선 인덱스 페이지의 리프 페이지에 인덱스로 구성한 열을 정렬하고 데이터 위치 포인트를 생성한다. 데이터의 위치 포인트는 클러스터형 인덱스와 달리 '페이지 번호 + #오프셋'이 기록되어 바로 데이터 위치를 가르킨다.

  • 별도의 페이지에 인덱스를 구성한다.
  • 검색 속도는 느리지만, 데이터의 입력,수정,삭제가 더 빠르다.
  • 남용할 경우에는 시스템 성능을 떨어뜨리는 결과를 가져온다.

출처 : https://junghn.tistory.com/

 

 

 

차이


  • 해당 테이블을 생헝하고 5개의 데이터를 입력한 후에 데이블을 조회할 경우 데이터가 입력된 순서대로 정렬되어 조회되지 않고, 인덱스를 기준으로 정렬되어 조회한다.
  • 물리적으로 행을 재배열한다는 것은 실제 DB의 데이터 파일에 정렬이 되어 있는 상태로 디스크에 저장이 된다는 것을 의미한다.
  • 클러스터 인덱스는 실제 DB의 데이터 파일에 정렬이 되어 있는 상태로 디스크에 저장이되고, 넌클러스터 인덱스는 실제 DB의 데이터 파일에 정렬이 되지 않은 상태로 디스크에 저장이 된다는 말이다.

 

 

 

참고자료


https://m.blog.naver.com/islove8587/22043119222

 

https://junghn.tistory.com/

'DB' 카테고리의 다른 글

[DataBase] 키(key) 개념 & 종류  (0) 2021.11.20
RDBMS와 NoSQL의 차이점  (0) 2021.11.13