3.3.2. 최적화 목표(Goal) 제어 힌트

어떤 쿼리에서 기본적으로 생성된 실행계획이 만족스럽지 못할 때 일단 옵티마이져 모드를 바꾸어서 그 결과를 살펴보는 것을 목적으로 하는 정도로 적용하는것이 좋음

ALL_ROWS

쿼리 전체 결과를 모두 수행하는 것에 대한 최적화(Best throughput)를 목표로 최저 비용의 실행계획을 수립하도록 유도한다.(Minimum total resource consumption)


  예) SELECT /*+ ALL_ROWS */ ....

CHOOSE

SQL에서 액세스하는 테이블에 대한 통계정보 유무에 따라 규칙기준이나 비용기준을 적용하여 최적화를 수행한다. 만약 CHOOSE모드에서 테이블의 통계정보를 참조할수 있는 경우에는 ALL_ROWS 방식으로 처리된다


  예) SELECT /*+ CHOOSE */ ....

FIRST_ROWS

최적응답시간(Best response time)을 목표로 최저 비용의 실행계획을 수립하도록 유도한다. (Minimum resource usage to return first or first n rows)


 예) SELECT /*+ FIRST_ROWS */ ...
      SELECT /*+ FIRST_ROWS(10) */.....

RULE

규칙기준 옵티마이져를 이용한 최적화를 요구한다. 즉, 조건구문에 사용된 컬럼들의 인덱스 형태나 연산자 형태 등 에 의한 우선순위 규칙에 실행계획을 수립하도록 유도한다.


 예) SELECT /*+ RULE */...

문서에 대하여

  • 최초작성자 : 임주영
  • 최초작성일 : 2008년 3월 20일
  • 이 문서는 오라클클럽 대용량 데이터베이스 스터디 모임에서 작성하였습니다.
  • 이 문서의 내용은 이화식님의 새로쓴 대용량 데이터베이스 솔루션을 참고했습니다.
  • 이 문서를 다른 블로그나 홈페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^\^