옵티마이저란 SQL 엔진을 옵티마이저 혹은 쿼리 옵티마이저라고 부른다. Optimizer 단어는 ‘최대한 활용하는 사람, 낙관하는 사람’의 의미로 SQL 문장을 처리하기 위한 목적을 가진 일종의 최적화 도구라고 할 수 있다. 옵티마이저는 종류에 따라 SQL 문장을 분석 및 처리하기 위한 일련의 실행 계획이 달라진다.
파싱 : 사용자가 입력한 SQL 문장을 데이터베이스가 이해할 수 있는 내부 구조로 변환
최적화 : 파싱된 SQL 문장에 대해 가능한 모든 실행 계획 대안을 생성
비용 산정 : 생성된 실행 계획 대안 각각에 대해 예상 비용을 계산
디스크I/O, 메모리 사용, CPU 사용 등과 같은 자원 비용을 고려
실행 계획 선택 : 계산된 예상 비용을 기반으로 최적의 실행 계획을 선택
오라클 옵티마이저는 SQL 쿼리의 실행 계획을 최적화하는 역할을 합니다. SQL 쿼리는 데이터베이스에서 데이터를 검색, 수정, 삭제, 삽입하는 데 사용되는 명령문입니다. 이 명령문은 데이터베이스 엔진에 의해 실행되며, 실행 계획은 쿼리의 처리 속도와 성능에 영향을 미칩니다.