BigQuery Performance
Practical guides to making BigQuery queries faster and cheaper — partitioning, clustering, search indexes, time travel, cost optimization, and query tuning strategies.
- BigQuery BigLake Tables Explained: What They Are and When to Use Them
BigQuery BigLake tables improve on classic external tables with access delegation, row-level security, and metadata caching. Includes a SQL example.
- Extended data type support for BigQuery search indexes
BigQuery's search index for INT64 and TIMESTAMP improves performance with large datasets, enhancing real-world applications
- Why partitioning tables is not a silver bullet for BigQuery performance
Partitioning helps only when queries filter on the partition column. Learn when clustering outperforms partitioning and when both strategies make sense.
- Ingestion-time partitioning in BigQuery
Ingestion-time partitioning in BigQuery automatically assigns rows to date-based partitions as they arrive. Learn how to use _PARTITIONTIME and...
- The PARTITIONS view in INFORMATION_SCHEMA
The PARTITIONS view in BigQuery INFORMATION_SCHEMA exposes partition row counts, bytes, storage tier, and last modified time.
- Search Indexes in BigQuery
BigQuery search indexes accelerate SEARCH() queries on STRING and JSON columns. Learn how to create them, verify their use, and understand when they apply.
- Why you should care about partition pruning in BigQuery
Filtering on DATE(_PARTITIONTIME) or inside a MERGE ON clause can silently disable partition pruning in BigQuery. See which filter patterns keep scans cheap.
- Optimizing storage costs in BigQuery
Covers actionable strategies to lower BigQuery storage costs including logical vs physical billing, long-term storage tiers, table clones, expiration...
- Optimizing compute cost in BigQuery
Explains the difference between on-demand and capacity-based BigQuery compute billing and how to optimize for each.
- Table Sampling in BigQuery
Three ways to explore large BigQuery tables without full scan costs: the Preview button, partition filtering, and TABLESAMPLE SYSTEM — with guidance on...
- Swapping Partitions in BigQuery
Skip costly MERGE jobs by using the bq cp command to swap partitions between a staging table and a target table in BigQuery, with a working bash script...
- Optimizing SQL queries in BigQuery
An actionable BigQuery query tuning checklist covering early filtering, partition pruning, deduplication, integer keys, CTE reuse, and nested data — with...
- Using BigQuery Time Travel
Learn how to use BigQuery Time Travel with FOR SYSTEM_TIME AS OF to query historical table states up to 7 days back.