-
Logical operators: 무엇을 수행할지 정의함 (예: Union, Selection, Projection, Join 등)
-
Physical operators: 실제 어떻게 구동할지 정의함 (예: Nested loop join, Hash join, Index join 등)
-
논리적 계획과 물리적 계획이 항상 1:1로 매핑되는 것은 아니며, 물리적 포맷(압축, 정렬 상태 등)에 따라 다양한 알고리즘이 적용될 수 있음
-
질의 처리 파이프라인

- Parse: SQL Query를 입력받아 파싱하여 Parse Tree 생성
- Convert: Parse Tree를 변환하여 초기 Logical Query Plan 생성
- Equivalence rules를 통해서 여러 Logical Plan 생성
- Apply rules: 관계대수 법칙을 적용하여 구조를 개선한 "Improved" Logical Query Plan 도출
- Estimate result sizes: 데이터 통계를 기반으로 중간 산출물의 크기(Size)를 추정
- Consider physical plans: 크기 정보가 결합된 논리 계획을 바탕으로 다수의 Physical Plan 후보군 생성
- Estimate costs: 여러 후보 계획들의 실행 비용을 산출
- Pick best & Execute: 가장 비용이 낮은 최적의 계획을 선택하여 런타임에 실행하고 최종 결과를 반환함