컴퓨터공학 기초/데이터베이스
[데이터베이스] SQL 최적화과정
상용최
2020. 4. 26. 18:25
반응형
DBMS는 SQL을 실행하기전에 아래와 같은과정을 거쳐 최적화를 진행한다.
1. SQL파싱
실행할 SQL을 전달받으면 SQL파서가 파싱진행
- 파싱트리 생성
- Syntax체크 : 문법적오류가 없는지 체크
- semantic 체크 : 의미상 오류가 없는지 체크
2. SQL최적화
옵티마이저가 실행한다. 미리 수집한 시스템 및 오브젝트 통계정보를 바탕으로 다양한 실행경로를 생성해서 비교 한 후 가장 효율적인 하나를 선택
3. 로우소스 생성
※ SQL 옵티마이저란?
사용자가 원하는 작업을 가장 효율적으로 수행할 수 있는 최적의 데이터액세스 경로를 선택해주는 DBMS의 핵심엔진
※ 옵티마이저 Hint
옵티마이저가 항상 최선의 선택을 하는것은 아니다. DB에 Insert, delete등 연산이 일어날 경우 인덱스를 이상하게 선택하는 경우가 발생한다. 그런상황에 대비하여 개발자가 더 효율적인 인덱스를 탈 수 있도록 설정 해주는 것
반응형