옵티마이저는 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부의 핵심엔진이다.
규칙기반 옵티마이저 (RBO)
통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행 계획을 선택하는 옵티마이저
핵심 : 규칙(우선 순위) 기반
평가 기준 : 인덱스 구조, 연산자, 조건절 형태 등
—> 사용자가 원하는 처리경로로 유도하기가 쉬움
비용기반 옵티마이저 (CBO)
통계 정보로부터 모든 접근 경로를 고려한 질의 실행 계획을 선택하는 옵티마이저
핵심 : 비용(수행 시간) 기반
평가 기준 : 레코드 개수, 블록 개수, 행 길이, 컬럼 값의 수, 인덱스 높이 등
—> 옵티마이저의 이해도가 낮아도 성능보장 가능(기본 설정)