옵티마이저

최대 1 분 소요

옵티마이저는 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진이다.

옵티마이저 SQL 처리 과정

DBMS는 SQL을 입력 받으면 제일 먼저 실행하려고 한 SQL의 문법적 오류를 검사한다. 예를 들면 FROM, WHERE 등의 키워드가 문법적으로 알맞는지 확인한다.(오타 검사, 객체 존재유무 검사)

다음으로는 입력 받는 SQL을 이전에 실행한 적이 있는지 메모리를 검사한다. 이때 이전에 실행한 기록이 있다면 기존에 실행했던 방식으로 실행한다. 이렇게 처리 되는 것을 일컬어 SOFT PARSING이라고 한다. 하지만 이전에 같은 SQL을 실행한 기록이 없다면, SQL에 사용하고 있는 객체들에 대한 접근 권한을 체크한 후 SQL 실행계획을 세운다. 이를 HARD PARING 이라고 한다.

SOFT PARSING

  1. 문법 검사
  2. SHARED POOL 안에 동일 SQL 실행 기록이 있는지 확인
  3. 실행

HARD PARSING

  1. 문법검사
  2. SHARED POOL 안에 동일 SQL 실행 기록이 있는지 확인
  3. 객체 및 컬럼에 대한 접근 권한 검사
  4. 옵티마이저 모드에 따른 최적의 실행 계획 수립
  5. SHARED POOL에 실행 계획 저장
  6. 실행

태그:

카테고리:

업데이트:

댓글남기기