SQL 처리 과정
SQL 실행 전 최적화 과정을 세분화하면

SQL 파싱
사용자로부터 SQL 을 전달받으면 가장 먼저 SQL 파서가 파싱을 진행.
- 파싱 트리 생성
- SQL 문을 이루는 개별 구성요소를 분석해서 파싱 트리 생성
- SYNTAX 체크
- 문법적 오류가 없는지 확인
- EX. 사용할 수 없는 키워드를 사용
- 순서가 바르지 않음
- 누락된 키워드가 있는지 확인
- 문법적 오류가 없는지 확인
- SEMANTIC 체크
- 의미상 오류가 없는지 확인
- EX. 존재하지 않는 테이블 / 컬럼을 사용했는지
- 사용한 오브젝트에 대한 권한이 있는지
- 의미상 오류가 없는지 확인
SQL 에 문법적 오류 또는 의미상 오류가 없는지는 SQL 파싱 단계에서 이루어진다.
SQL 최적화 (옵티마이저)
- 그다음 단계가 SQL 최적화
- 옵티마이저가 그 역할을 맡는다
- SQL 옵티마이저는 시스템 및 오브젝트 통계정보를 바탕으로 다양한 실행경로를 생성해서 비교한 후, 가장 효율적인 하나를 선택한다.
- 사용자가 원하는 작업을 가장 효율적으로 수행할 수 있는 최적의 데이터 액세스 경로를 선택한다.
- DBMS, 데이터베이스 성능을 결정하는 가장 핵심적인 엔진이다.
로우 소스 생성
SQL 옵티마이저가 생성한 실행경로를 실제 실행 가능한 코드 또는 프로시져 형태로 포맷팅한다. 로우 소스 생성기가 그 역할을 맡는다.