본문 바로가기
DB/일반

[친절한SQL튜닝 요약 정리] 2-1. 인덱스 구조 및 탐색

by hongdor 2020. 12. 27.
728x90

친절한SQL튜닝 책 요약 정리

 

 

1. 미리보는 인덱스 튜닝

 (1) 데이터를 찾는 두가지 방법 

    > 테이블 전체 스캔

       인덱스 이용

 

 (2) 인덱스 튜닝의 두 가지 핵심 요소

    > 인덱스 스캔 효율화 튜닝 : 인덱스를 적게 스캔

       Ex) 1.0 ~ 1.5 의 홍길동들을 찾을경우, 시력정렬 vs 이름 정렬 에서 후자가 효율적

       랜덤 액세스 최소화 튜닝 : 스캔한 인덱스를 통해 조회할 테이블의 행 개수 최소화. 더 중요

       Ex) 많은 인덱스를 스캔하더라도, 그 중 조건에 부합해 테이블에 접근하는 유효 인덱스가 적은 것

 

 

2. 인덱스 구조

  - Balanced Tree 구조이다.        

  - 정렬되어 있다.

  - 첫 노드는 root, 중간 노드들은 branch, 끝 노드는 leaf 라고 한다.

  - LMC는 값이 없고, 가장 작은 값을 가진 하위 노드의 주소를 가진다

  - branch는 값과 이 값 이상을 가지고 있는 자식 노드의 주소를 매칭시켜 가지고 있다.

  - leaf는 값과 테이블 주소(ROWID)를 매칭시켜 가지고 있다.

 

 

3. 인덱스 수직적 탐색

   : 인덱스 스캔 시작지점을 찾는 과정. 조건을 만족하는 첫 번째 레코드를 찾는 과정.

 

 

4. 인덱스 수평적 탐색

   : 수직적 탐색으로 찾은 인덱스부터 정렬된 인덱스를 따라 스캔. 조건을 만족하는 데이터를 찾는 과정. 

 

 

   

 

728x90

댓글