Optimizer Mode를
변경하는 힌트(CHOOSE)
구로디지털 오엔제이프로그래밍실무교육센터
CHOOSE 힌트인 경우 테이블에 통계 정보가 존재한다면
ALL_ROWS로 동작을 하며 없는 경우엔 RULE-BASED OPTIMIZER로 동작을
하고 CHOOSE, ALL_ROWS는 비용 기반 옵티마이저 환경에서 SQL문의 WHERE 조건을 만족하는 모든 행을 가장 빠르게 검색하는 실행 계획을 결정 합니다.
초기
파일에서 OPTIMIZER_MODE의 default
값은 CHOOSE 입니다.
analyze
table emp
compute
statistics
analyze
table dept
compute
statistics
select
e.empno,
e.ename,
d.dname
from emp
e, dept d
where
e.deptno
= d.deptno;
Operation Object Name Rows Bytes
Cost
-----------------------------------------------------------------
SELECT STATEMENT Optimizer Mode=HINT:
CHOOSE 14 4
TABLE ACCESS BY INDEX ROWID SCOTT.EMP
4 40 1
NESTED LOOPS 14 294
4
TABLE ACCESS FULL SCOTT.DEPT 4
44 3
INDEX
<st1:placetype
w:st="on">RANGE</st1:placetype> SCAN
SCOTT.IDX_EMP_DEPTNO 5 0
댓글 없음:
댓글 쓰기