Query Evaluation Plan

트리구조로 되어있고, 각 연산(relation algebra)에 사용되는 알고리즘을 정의하는 plan이다.
📌 explain (analyse) <query> 키워드를 통해서 쿼리를 분석할 수 있다.
Equivalent Query Evaluation Plans

- 다른 plan이지만 결과는 같다. ⇒ Optimization 할 수 있다 !
Cost-based Query Optimization
쿼리를 최적화할때 plan중에서 가장 비용이 적게 드는 것을 선택하는 방법이다.
- Cost는 Relations에 대한 통계(튜플 수, 한 속성에 있는 distinct 값의 개수 등), 중간 결과에 대한 통계(중간 단계로 올라오는 튜플 수 따짐), 알고리즘, 계산된 통계에 대한 Cost를 기반으로 측정된다.
- Metalog Catalog = 전반적인 Relation에 대한 통계를 일컫는 말
📌 3가지 단계로 실행되며 효율적인 쿼리 플랜을 찾는다.
- equivalence rules를 이용해서 논리적으로 동등한 표현식 생성
- 만들어진 여러 실행 계획에 비용(cost) 메타데이터를 붙임 (ingore)
- Estimated cost를 기반으로 가장 싼 최적 계획 선택
Equivalence rule
2개의 algebra expression이 같은 tuple set을 생성한다면 equivalent하고 말함.
⭐ 아래의 식은 좌변 우변이 동치이므로 서로를 대체할 수 있음

- selection의 조건이 and로 있다면 쪼갤 수 있다.
- selection의 조건의 위치를 바꿀 수 있다.