How it works
Why does it behave this way?
- 1
Why a query has many plans
Why does a query have a huge space of equal-answer plans, and which few ideas explain the cost of every plan?
- 2
Relational operators
Where do silent wrong answers start?
3 pages - 3
Join algorithms
Is the join's index built now, built earlier or replaced by order, and what does each choice cost in memory and I/O?
4 pages - 4
Aggregation algorithms
Why is aggregation the one operator that can be done in pieces, and how do hash and sort aggregation spend memory?
3 pages - 5
Sorting
What does an external sort really cost, and how does a distributed sort turn a global merge into a concatenation?
2 pages - 6
Set and dedup operations: aggregation with an empty accumulator
How do UNION, INTERSECT, EXCEPT and DISTINCT follow from what we already know, and which shortcut is dangerous?
- 7
What query processing forbids
What does this whole layer forbid, and what does each escape cost?