2017년 3월 24일 금요일

[닷넷/C#/자바/오라클/국비지원IT교육/구로IT학원/재직자환급교육추천_탑크리에듀]1.12 초기화 파라미터 OPTIMIZER_MODE

ORACLE 초기화 파라미터인 OPTIMIZER_MODE는 오라클 인스턴스가 최적의 Access 경로를 선택하는 기본 설정이 된다. 즉 옵티마이저가 어떠한 기준으로 최적화된 Access 경로를 추출하는지 결정하는 방법에 대해 제시한다고 볼 수 있다. CHOOSE : 오라클 옵티마이저는 CBO(Cost-Based Optimizer)와 RBO(Rule-Based Optimizer)중 하나를 선택한다. 통계 정보의 이용가능 여부에 따라 결정하는데 통계정보가 이용 가능하면 CBO를 사용하고 불가능한 경우에는 RBO를 사용한다. 만약 데이터딕셔너리에 액세스 되는 테이블 중 적어도 하나의 테이블에 대한 통계 정보가 있는 경우엔 CBO를 사용하며 최대 처리량(ALL_ROWS)을 목표로 최적화를 수행한다. 딕셔너리에 약간의 통계 정보만을 가지고 있다면 CBO가 사용될 수 있지만 옵티마이저는 통계 정보가 없는 부분에 대해서는 통계 정보를 추측해야 하며 이는 최선의 실행 계획이라기보다 차선의 실행 계획이라고 볼 수 있다. 만약 Access되는 테이블에 대한 통계 정보가 하나도 없다면 RBO를 사용한다. 오라클 11g 에서는 지난 방식이지만 지원은 하고 있다. 문서로는 지원하지 않지만 여전히 사용은 가능한 방식이다. ALL_ROWS : 통계 정보의 유무와 상관없이 모든 SQL 문에 대해 CBO를 이용하며 최대 처리량을 목표로 한다. 최대 처리량을 목표로 한다는 것은 전체 SQL문의 결과를 완료하는데 걸리는 시간이 적게 드는 것을 목표로 한다는 것이다. (Oracle11g R2의 기본값으로 테이블에 대한 통계정보가 없더라도 CBO로 동작된다.)

댓글 없음:

댓글 쓰기