Overview of Query Optimization
Plan: Tree of RA ops, with choice of alg for each op.
- Each operator typically implemented using a `pull’ interface: when an operator is `pulled’ for its next output tuple(s), it `pulls’ on its input(s) and computes them.
Two main issues:
- For a given query, what plans are considered?
- Algorithm to search plan space for cheapest (estimated) plan.
- How is the cost of a plan estimated?
Ideally: Want to find best plan. Practically: Avoid worst plans!
We will study the System R approach.