본문 바로가기
컴퓨터공학 기초/데이터베이스

[데이터베이스] SQL 최적화과정

by 상용최 2020. 4. 26.
반응형

DBMS는 SQL을 실행하기전에 아래와 같은과정을 거쳐 최적화를 진행한다.

 

1. SQL파싱

실행할 SQL을 전달받으면 SQL파서가 파싱진행

  • 파싱트리 생성
  • Syntax체크 : 문법적오류가 없는지 체크
  • semantic 체크 : 의미상 오류가 없는지 체크

2. SQL최적화

옵티마이저가 실행한다. 미리 수집한 시스템 및 오브젝트 통계정보를 바탕으로 다양한 실행경로를 생성해서 비교 한 후 가장 효율적인 하나를 선택

 

3. 로우소스 생성

 

※ SQL 옵티마이저란?

사용자가 원하는 작업을 가장 효율적으로 수행할 수 있는 최적의 데이터액세스 경로를 선택해주는 DBMS의 핵심엔진

 

※ 옵티마이저 Hint

옵티마이저가 항상 최선의 선택을 하는것은 아니다. DB에 Insert, delete등 연산이 일어날 경우 인덱스를 이상하게 선택하는 경우가 발생한다. 그런상황에 대비하여 개발자가 더 효율적인 인덱스를 탈 수 있도록 설정 해주는 것

 

반응형

댓글