옵티마이저는 RBO(Rule Based Optimizer)와 CBO(Cost Based Optimizer) 방식이 있는데 실무에서는 주로 CBO 방식을 이용합니다.
표 11-2 RBO와 CBO 방식 비교
구분 |
RBO |
CBO |
개념 |
사전에 정의된 규칙 기반 계획 |
최소 비용 계산, 실행 계획 수립 |
기준 |
실행 우선순위 |
액세스 비용 |
성능 |
사용자의 SQL 작성 숙련도 |
옵티마이저 예측 성능 |
특징 |
실행 계획의 예측이 용이함 |
저장된 통계 정보의 활용 |
고려 사항 |
저효율, 사용자의 규칙 이해도 |
예측 복잡, 비용 산출 공식 정확성 |
옵티마이저는 최적화된 SQL 실행 순서, 실행 방법, 비용 등을 찾아주므로 사용자는 실행 계획을 확인하면서 SQL 문을 효율적으로 작성할 수 있습니다.