어떤 쿼리에서 기본적으로 생성된 실행계획이 만족스럽지 못할 때 일단 옵티마이져 모드를 바꾸어서 그 결과를 살펴보는 것을 목적으로 하는 정도로 적용하는것이 좋음
쿼리 전체 결과를 모두 수행하는 것에 대한 최적화(Best throughput)를 목표로 최저 비용의 실행계획을 수립하도록 유도한다.(Minimum total resource consumption)
예) SELECT /*+ ALL_ROWS */ ....
SQL에서 액세스하는 테이블에 대한 통계정보 유무에 따라 규칙기준이나 비용기준을 적용하여 최적화를 수행한다. 만약 CHOOSE모드에서 테이블의 통계정보를 참조할수 있는 경우에는 ALL_ROWS 방식으로 처리된다
예) SELECT /*+ CHOOSE */ ....
최적응답시간(Best response time)을 목표로 최저 비용의 실행계획을 수립하도록 유도한다. (Minimum resource usage to return first or first n rows)
예) SELECT /*+ FIRST_ROWS */ ...
SELECT /*+ FIRST_ROWS(10) */.....
규칙기준 옵티마이져를 이용한 최적화를 요구한다. 즉, 조건구문에 사용된 컬럼들의 인덱스 형태나 연산자 형태 등 에 의한 우선순위 규칙에 실행계획을 수립하도록 유도한다.
예) SELECT /*+ RULE */...