liveBook · Manning

Projection pushdown

As explained in DuckDB in Action

Projection pushdown is a query optimization technique that reads only the columns required by a query.

Projection pushdown is a query optimization technique that reads only the columns required by a query. With Parquet files, the storage layer can leave unneeded columns untouched, reducing data transfer and improving selective-query performance. section 5.4

Projection pushdown is especially useful when:

  • Querying large Parquet datasets directly without populating a database. section 10.4
  • Analyzing files stored remotely, where avoiding unnecessary network transfer lowers latency and potential egress costs. section 10.4
  • Combining it with predicate pushdown so queries restrict both the columns and data segments they read. section 5.4

Query only the columns needed

A DuckDB query against Parquet can request a narrow result instead of reading every stored field: SELECT ranking_date, rank, points FROM 'atp_rankings.parquet' ORDER BY ranking_date DESC LIMIT 5; The same technique supports one-off analysis of very large New York taxi datasets stored in cloud buckets, transferring only data needed for the query. section 5.4 section 10.4

How DuckDB in Action covers it

How deep it goes
Explains selected-column fetching, network-transfer reduction, and Parquet metadata, but does not detail execution-plan internals.
Examples
Demonstrates ATP rankings and New York Taxi Parquet datasets queried directly with DuckDB.
What you can do after
Apply it via DuckDB to query local or remote Parquet files while limiting unnecessary column reads and transfers.
How it connects
Connects projection pushdown with predicate pushdown, Parquet, columnar storage, query execution, and cloud storage.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of DuckDB in Action. The section links point to the parts of the book it draws on.