토픽 74 / 201·인덱스 및 쿼리 최적화
옵티마이저 (Optimizer)
옵티마이저 (Optimizer)
SQL 쿼리에 대해 다양한 실행 경로를 평가하고 가장 비용이 낮은 최적의 실행계획을 생성하는 DBMS 핵심 구성요소
특징: 비용 기반 결정, 통계 정보 활용, 자동 최적화
구성요소
- •쿼리 변환기(Query Transformer): 뷰 확장, 서브쿼리 변환, 조건 푸시다운
- •비용 산정기(Cost Estimator): I/O, CPU, 네트워크 비용 계산
- •계획 생성기(Plan Generator): 후보 실행계획 열거 및 최적 선택
유형
- •RBO(Rule-Based Optimizer): 고정 규칙 기반, 통계 미사용, 레거시
- •CBO(Cost-Based Optimizer): 통계 기반 비용 추정, 현대 DBMS 표준
- •HBO(Hint-Based): 힌트로 옵티마이저 결정 재정의
적용사례: 쿼리 실행, 성능 튜닝, 인덱스 선택
비교: RBO(규칙/고정/단순) vs CBO(비용/동적/정확) vs HBO(강제/수동/최후수단)
연관: 실행계획, 통계정보, 힌트, 카디널리티