Queries, operator by operator · Build a query engine to learn what a query costs

Part II: Reading less

How does an engine avoid reading most of its input?

The cheapest byte is the one an engine never reads. This part hands the columns and predicates a query needs to the scan, and counts what that saves (ch03), then asks how finely a scan can skip, and what the file must record for it to (ch04). Last, it asks which files of a table a scan must open at all, and what changes when the storage tests the rows itself (ch05).

Built from commit dc21108.

By Chris Snow, in collaboration with Claude (Anthropic) · Prose and figures: CC BY-NC 4.0 · Code: Apache 2.0