RBO 순위 결정 방법
흔히 /*+ RULE */ 힌트를 사용하면 Rule Base 로 optimizer가 실행계획을 세우게 된다.
그렇다면 RBO의 Access 경로 순위를 살펴보자.
순위 |
Access 경로 |
1 |
ROWID에 의한 단일 행 |
2 |
클러스터 조인에 의한 단일 행 |
3 |
고유 키나 기본 키를 가진 해시 클러스터 키에 의한 단일 행 |
4 |
고유 키 또는 기본 키에 의한 단일 행 |
5 |
클러스터 조인 |
6 |
해시 클러스터 키 |
7 |
인덱스화된 클러스터 키 |
8 |
조합 인덱스 |
9 |
단일 열 인덱스 |
10 |
인덱스화된 열에 대해 제한된 범위 검색 |
11 |
인덱스화된 열에 대해 제한되지 않은 범위 검색 |
12 |
정렬 병합 조인 |
13 |
인덱스화된 열의 MAX 또는 MIN |
14 |
인덱스화된 열에 대한 ORDER bY |
15 |
전체 테이블 스캔 |
CBO에서만 가능한 기능
테이블 및 인덱스의 Patitioning |
인덱스 구성 테이블 - IOT (Index-Organized Tables) |
Reverse key 인덱스 |
Function-based 인덱스 |
병렬 Query 및 병렬 DML |
Star joins and start transformations |
Materialized View를 이용한 Query rewrite |
Hash Join |
Bitmap 인덱스 및 Bitmap Join 인덱스 |
Index Skip Scan (Oracle 9i 이후) |