어떤 쿼리에서 기본적으로 생성된 실행계획이 만족스럽지 못할 때 일단 옵티마이져 모드를 바꾸어서 그 결과를 살펴보는 것을 목적으로 하는 정도로 적용하는것이 좋음
쿼리 전체 결과를 모두 수행하는 것에 대한 최적화(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 */...
- 강좌 URL : http://www.gurubee.net/lecture/2569
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.