<2.3>
index range scan
- 루트 블록에서 아래에 위치한 리프 블록까지 수직적 탐색 후 필요한 범위만 스캔한다
- 특징은 선두 컬럼을 가공하지 않은 상태로 조건절에 사용되야 한다 → 인덱스 사용 x
- 무조건 인덱스를 사용한다고 해서 성능이 좋은 것은 아니다. 인덱스 스캔 범위와 테이블 액세스를 얼마나 하는지가 더 중요한 부분이다.
index full scan
- 말 그대로 index 전체를 스캔하는 방법이다.
- 보통 선두 컬럼으로 생성된 인덱스가 없다면 table full scan을 하게 되는데 대용량 테이블인 경우 비교적 사이즈가 작은 인덱스를 scan하는게 더 효율적이기 때문에 index full scan을 사용한다.
- index full scan은 index range scan의 차선책이라 결국엔 선두 컬럼으로 구성된 인덱스 생성이 필요하다
소트연산생략
- 인덱스를 사용하면 scan 후 결과 집합이 컬럼 순으로 정렬이 되기 때문에 소트 연산을 생략할 수도 있다.
index unique scan
- index를 수직적 탐색만으로 스캔하는 방식이다. 조건을 '='으로 탐색하는 경우 사용된다.
- unique 결합 인덱스인 경우 일부 컬럼만 사용하여 검색을 하면 index range scan으로 사용된다
index skip scan
- 조건절에 선두컬럼이 없는 경우에 full table scan이 아닌 인덱스를 사용하는 방법