본문 바로가기
책과 부동산과 주식이야기

(SQLP SQLD 핵심 정리 8) 옵티마이저의 원리

by HB1오춘 2023. 12. 25.

규칙 기반 옵티마이저(Rule-Based Optimizer, RBO)

- 다른 말로 '휴리스틱(Heuristic) 옵티마이저'라고도 불림

- 미리 정해 놓은 규칙에 따라 액세스 경로를 평가하고 실행계획을 선택한다.

- 규칙은 액세스 경로별 우선순위로써, 인덱스 구조, 연산자, 조건절 형태가 순위를 결정짓는 주요 요인이다.

 

선택도(Selectivity)

- 1 / NDV(Number of Distinct Value)

 

카디널리티(Cardinality)

- 총 로우수 * 선택도

- num_rows / num_distinct

 

힌트를 사용하지 않고 뷰 머징(View Merging) 방지하는 방법

- 집합(set) 연산자(union, union all, intersect, minus) 사용

- connect by 절 사용

- select-list에 집계 함수(avg, count, max, min, sum) 사용

- 분석 함수(Analytic Function) 사용