How it works
Why does it behave this way?
- 1
Limited by what it can know
Why is planning a different kind of problem from everything below it, and why do estimation errors grow so fast?
2 pages - 2
From SQL text to a plan
Which planning stages are certain and which are risky, and how late can the uncertain decisions be put off?
4 pages - 3
Estimating cost
Why does the cost model matter far less than the four assumptions behind cardinality estimates?
3 pages - 4
Join order search
How can an optimizer search a space with billions of plans, and what happens when it cannot?
- 5
Rewrites
What does decorrelation really buy, and why is NOT IN slow where NOT EXISTS is fast?
4 pages - 6
Data reduction
Why do data-reduction mechanisms dominate, and why is their limit the interface's vocabulary?
9 pages - 7
Execution decisions
How do mechanisms move a decision earlier, later, or away entirely, and what does each position cost?
7 pages - 8
Diagnosing a bad plan, and what planning forbids
In what order should you look for the cause of a bad plan, and what can planning never do?