SQL 실행 계획을 수립하고 SQL을 실행한다. DBMS의 소프트웨어이다.
- 동일한 결과가 나오는 SQL도 어떻게 실행하느냐에 따라
성능
이 달라진다. (결과 변동 X)
*실행방법
- 개발자가 SQL 실행 -> PARSING (구문분석) -> 옵티마이저(규칙 OR 비용) -> 실행계획(PLAN_TABLE) -> SQL 실행
규칙 기반 옵티마이저
- 실행계획을 수립할 때 15가지의 우선순위를 기준으로 실행계획을 수립한다.
(~단일행인경우...)
사용방법 /*+RULE */
비용 기반 옵티마이저
- 오브젝트 통계 및 시스템 통계를 사용해서 총 비용을 계산한다.
- 총비용이 적은 쪽으로 실행 계획을 수립한다.
*비용계산이란?
- 실행하기 위해서 예상되는 소요시간 , 자원의 사용량을 의미한다. 일반적으로 비용 기반 옵티마이저
가 주로 사용된다.
*단점 - 통계정보가 부적절한경우 성능저하가 발생된다.