[친절한 SQL튜닝] SQL 최적화과정

eunmo hong·2020년 4월 28일
0

친절한 SQL 튜닝

목록 보기
1/2

개요

  • DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한 상태로 만드는 전 과정을 SQL 최적화 라고 한다.

1. SQL파싱

사용자로부터 SQL을 전달받으면 먼저 SQL파서가 파싱을 진행한다.

  • 파싱트리생성
    • SQL문을 이루는 개별 구성요소를 분석해서 파싱트리를 생성한다.
  • Syntax 체크
    • 문법적 오류가 없는지 확인한다.
  • Semantic 체크
    • 의미상 오류가 없는지 확인한다. ex) 존재하는 테이블 또는 컬럼인지? 권한이 있는지?

2. SQL최적화

옵티마이저의 역할이다. 다양한 실행경로를 생성해서 가장 효율적인 실행경로를 선택한다.

  1. 전달받은 쿼리를 수행하는데 후보군이 될만한 실행계획들을 찾아낸다.
  2. 데이터 딕셔너리에 미리 수집해 둔 통계정보를 이용해 각 실행계획의 예상비용은 산정한다.
  3. 최저 비용을 나타내는 실행계획을 선택한다.

3. 로우소스 생성

로우 소스 생성기의 역할이다. 앞서 2)에서 선택한 실행경로를 실제 실행 가능한 코드 또는 프로시저 형태로 포맷팅한다.

profile
안녕하세요!

0개의 댓글