옵티마이저

Su·2023년 5월 24일
0

SQL 실행 계획을 수립하고 SQL을 실행한다. DBMS의 소프트웨어이다.

  • 동일한 결과가 나오는 SQL도 어떻게 실행하느냐에 따라 성능이 달라진다. (결과 변동 X)

*실행방법

  • 개발자가 SQL 실행 -> PARSING (구문분석) -> 옵티마이저(규칙 OR 비용) -> 실행계획(PLAN_TABLE) -> SQL 실행

규칙 기반 옵티마이저

  • 실행계획을 수립할 때 15가지의 우선순위를 기준으로 실행계획을 수립한다.
    (~단일행인경우...)
    사용방법 /*+RULE */

비용 기반 옵티마이저

  • 오브젝트 통계 및 시스템 통계를 사용해서 총 비용을 계산한다.
  • 총비용이 적은 쪽으로 실행 계획을 수립한다.
    *비용계산이란?
    - 실행하기 위해서 예상되는 소요시간 , 자원의 사용량을 의미한다. 일반적으로 비용 기반 옵티마이저가 주로 사용된다.
    *단점 - 통계정보가 부적절한경우 성능저하가 발생된다.
profile
공부 중

0개의 댓글