본문 바로가기
database/Oracle

oracle b+tree 설명

by 무대포 개발자 2020. 11. 10.
728x90
반응형

oracle b+tree 설명

  • Oracle 의 인덱스 구조에서 b+tree 알고리즘을 사용.
  • 이진 트리 알고리즘과 비슷하고.
  • 검색에 특화. 이진트리는 logn 에 검색이 가능.
  • 단점은 데이터를 넣거나 업데이트 할 때, 시간이 오래 걸릴 수 있다는 거지. (이진 트리의 단점)
  • 분포도가 낮으면 b+tree 는 안좋음.
    • 여기서 말하는 분포도라는 것은 고유 값 (구별할 수 있는 값) 이 얼마나 많은지에 대해서 설명

분포도

  • 분포도는 데이터의 고유 값의 범위를 나타내는 것이고.
  • 분포도가 높을 수록 고유 값이 다양하다는 것이다.
  • 이런 것들은 인덱스를 만들었을 때 효율이 좋은 것이고.
    • 왜냐면 인덱스에서 키로 데이터를 나누어서 저장하기에 고유 데이터가 많을수록 좋은 것이지.
    • 만약 고유키가 대부분 비슷하다고 가정을 해보자. 그럼 인덱스 효율이 떨어지는거지.
    • 왜냐하면 인덱스를 만들 때, 앞의 일부분을 떼어서 만들기에 고유키가 비슷하면 앞부분 값들이 대부분 비슷할테니 찾고자 하는 값을 오랜 시간 들여서 찾겠지.

댓글