BigQuery cost optimization is organized here by impact: compute (85-90% of the bill) first, storage last. The sequence below follows that priority order.
The Optimization Hierarchy
1. Understand the Cost Model
BigQuery Cost Model — covers on-demand vs. Editions pricing, the bytes-scanned billing mechanic, and the storage/compute split. The core mechanic: you pay for bytes read from storage, not bytes returned.
2. See Where Money Goes
BigQuery Cost Attribution with INFORMATION_SCHEMA — INFORMATION_SCHEMA queries for identifying expensive queries, attributing costs by user and dataset, and finding unpartitioned tables. In most projects, 3-5 queries account for 70%+ of spend.
3. Fix Query Patterns
BigQuery Partition Pruning Patterns — partitioning, clustering, and anti-patterns that silently defeat pruning. Column selection (avoiding SELECT *) is covered in the cost model note.
4. Optimize dbt Configurations
dbt Materialization Cost Impact on BigQuery — why table materialization outperforms views on BigQuery and how the view chain anti-pattern creates cascading scan costs. Incremental Models in dbt — processing only new data instead of full table refreshes.
5. Add Governance
BigQuery Cost Governance Guardrails — max_bytes_billed, partition filter requirements, project-level quotas, authorized views, and reservation assignments. For organizations with ad-hoc users, governance controls can deliver more savings than query optimization.
6. Evaluate Pricing Model
BigQuery Editions and Slot-Based Pricing — break-even calculation, autoscaling configuration, committed use discounts, and edition feature comparison. Relevant only after query patterns are optimized; switching pricing models does not fix inefficient queries.
7. Optimize Storage
BigQuery Storage Billing Strategies — physical vs logical billing, long-term storage discounts, and table expiration policies. Storage is 10-15% of the typical bill; these are one-time configurations.