Query Processing & Logical Optimization
- SQL query 처리 과정 전체 흐름 정리
- SQL → parse → logical plan → optimization → physical plan → execution
- DBMS는 declarative SQL을 실행 가능한 계획으로 변환해야 함
- 핵심 목표는 가장 비용이 낮은 실행 계획 선택
SQL Query Processing Flow

- 플로우
- SQL query 입력
- parse → parse tree 생성
- convert → logical query plan 생성
- apply rules → logical plan 개선
- estimate result size → 중간 결과 크기 추정
- consider physical plans → 여러 실행 방법 생성
- estimate cost → 비용 계산
- pick best → 최적 plan 선택
- execute → 결과 반환
- 핵심 구조
- Logical 단계 → “무엇을 할지”
- Physical 단계 → “어떻게 할지”
Query Plan
- Query plan 정의
- DBMS가 query 실행하기 위한 instruction tree
- 특징
- tree 구조
- leaf → data source
- root → 최종 결과
- operator 중심 구조
- 데이터 흐름
- 중요 포인트
- 동일 query라도 여러 plan 가능
- index scan 선호됨