GCP BigQuery Cost Per Query 2026: The Real Numbers
Stop guessing how much your next SELECT * costs. I've seen teams burn $40,000 in a single afternoon because they didn't understand BigQuery's pricing model. By mid-2026, the game has shifted again — flat-rate commitments are no longer a no-brainer, and on-demand billing can wreck you if you query like it's 2022.
I'm Nishaant Dixit, founder of SIVARO. My team builds data infrastructure for companies processing 200K events per second. We've migrated petabytes from AWS to GCP, tuned BigQuery costs for dozens of clients, and watched the pricing landscape change in real time. Here's what I know about gcp bigquery cost per query 2026.
The Problem With "It's Just $5 Per TB"
Most people still think BigQuery charges a flat $5 per TB scanned. That was true in 2019. It's more complex now.
Google offers three pricing models:
- On-demand: $6.25 per TB of data processed (yes, it went up from $5 in 2023)
- Flat-rate: Commit to slots (200 slots minimum), currently $0.041 per slot-hour for 3-year commitment
- Autoscale: Pay baseline plus a premium for bursts
Here's the kicker: $6.25/TB is the list price. If you're not getting committed use discounts, you're leaving money on the table. Google Cloud Pricing 2026 confirms that most enterprises with >$10K monthly spend should negotiate a custom contract.
But cost per query depends on three things you control: how much data you scan, how efficiently you write queries, and whether you share slots across workloads.
What Actually Drives Your BigQuery Bill
I've audited hundreds of BigQuery invoices. The top cost drivers:
1. Data Scanned — The Obvious One
Every SELECT * on a 10TB table costs ~$62.50 on-demand. That's before any caching discounts.
Caching helps: BigQuery caches query results for ~24 hours (subject to change). If you run the same query twice, the second run bills only for metadata. But cache invalidates when underlying data changes. Most teams don't leverage this well.
2. Storage Costs — The Sneaky One
You pay $0.02 per GB per month for active storage, $0.01 for long-term (90 days no modifications). Sounds small until you have 50TB of historical logs. That's $1,000/month just to store it.
My rule: partition and cluster aggressively. Partition by date, cluster by high-cardinality fields like user_id. Saves both storage and query costs.
3. Slot Sharing — The Strategic One
If you have 10 analysts hammering BigQuery simultaneously, on-demand pricing means each pays $6.25/TB. With flat-rate slots, one query's cost doesn't spike your bill — but if you over-buy slots, you're wasting money.
The 2026 sweet spot: use on-demand for exploratory queries, flat-rate for production dashboards. Google Cloud Pricing vs AWS shows GCP's slot model gives more granular control than Redshift's cluster sizing.
How to Calculate BigQuery Cost Per Query in 2026
Don't guess. Use the INFORMATION_SCHEMA views. Every team should run this weekly:
sql
-- Find your top 10 most expensive queries last 7 days
SELECT
query,
total_bytes_processed,
total_bytes_billed,
ROUND(total_bytes_billed / POW(1024, 4) * 6.25, 2) AS estimated_cost_usd
FROM
`region-us.INFORMATION_SCHEMA.JOBS_BY_PROJECT`
WHERE
creation_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
AND CURRENT_TIMESTAMP()
AND job_type = 'QUERY'
AND state = 'DONE'
ORDER BY
total_bytes_billed DESC
LIMIT 10;
This gives you actual billed bytes. Remember: BigQuery rounds up to the next MB. Small queries aren't free — they cost $0.01 minimum.
For flat-rate users, replace the cost calculation with slot usage:
sql
SELECT
query,
job_id,
TIMESTAMP_DIFF(end_time, start_time, SECOND) AS duration_seconds,
total_slot_ms
FROM
`region-us.INFORMATION_SCHEMA.JOBS_BY_PROJECT`
WHERE
...
Then multiply slot-seconds by your effective slot price (e.g., $0.041/3600 = $0.0000114 per slot-second).
The AWS Comparison That Surprised Me
I migrated a client from AWS Athena to BigQuery in 2025. Their Athena bill was $8K/month. BigQuery came to $4.2K. But it wasn't automatic.
Cloud Pricing Comparison 2026 shows BigQuery generally cheaper than Athena for scans under 1TB per query. Above that, Athena's per-query pricing can be lower — but Athena lacks the built-in BI engine and materialized views that BigQuery offers.
Redshift is a different beast. Reserved instances make it cheaper at high throughput, but you pay for idle capacity. BigQuery's serverless model wins for variable workloads.
Most startups I talk to choose GCP for analytics because the gcp bigquery cost per query 2026 model aligns with their unpredictable query patterns. Comparing AWS, Azure, and GCP for Startups in 2026 confirms this — 63% of startups using GCP cite BigQuery as the primary reason.
Migration: How to Move from AWS to GCP Without Bleeding Money
You've decided to migrate. Now what?
The migrate from aws to gcp migration tool you need is the BigQuery Data Transfer Service for historical data, plus Storage Transfer Service for files. Don't use a lift-and-shift approach — you'll import your AWS inefficiencies.
how to migrate from aws to gcp step by step:
- Audit your AWS queries — find the top 20 by cost
- Translate schema — BigQuery uses columnar storage; optimize partition/cluster keys
- Set up billing alerts — cap daily spend at 1.5x expected
- Migrate in waves — start with non-critical reports
- Tune iteratively — run both systems for 2 weeks, compare costs
I've seen teams skip step 4 and migrate everything at once, only to discover a query that scans 20TB daily. That's a $125/day mistake.
Use the Google Cloud Pricing Calculator to estimate before you move. Be honest about your workload — most people underestimate their scan volume.
Hidden Costs Most People Miss
- Streaming inserts: $0.05 per MB for
insertAll. Use the Storage Write API instead (free). - Undocumented data scans: Views that don't filter on partition columns.
- Cross-region queries: $0.02 per GB for data transfer between regions.
- Materialized views: They refresh on changes — a high-frequency update can cost more than the query it replaces.
The worst one I've seen: a client had a daily batch process that inserted into a table partitioned by _PARTITIONDATE. They forgot to specify the partition column in their INSERT statement — every insertion scanned the entire table. That was a $15,000 oversight.
Optimizing for 2026: What Actually Works
1. Clustering over partitioning for most datasets
If you have high-cardinality filters (user_id, order_id), clustering reduces bytes scanned more than date partitioning. I cluster on the most used filter column, then partition by ingestion date.
2. Use SELECT * EXCEPT sparingly
Only return columns you need. A query that selects 10 columns from a 200-column table scans all columns anyway — BigQuery stores by column, but the billing bytes are based on the table's column metadata. Wait, that's wrong. BigQuery actually bills only for the columns you reference. Let me clarify:
sql
-- This bills for bytes in col1, col2, col3 only
SELECT col1, col2, col3 FROM mytable;
That's one of BigQuery's best features. But if you use SELECT *, you pay for all columns. Always specify columns in production queries.
3. Pre-aggregate with materialized views for dashboard queries
Materialized views are free to store (you pay for compute to refresh). If your dashboard runs SELECT date, SUM(revenue) ..., create a materialized view. Refresh cost is lower than re-scanning raw data.
4. Slot reservation for production jobs
For ETL pipelines that run every hour, reserve 200 slots. For ad-hoc analytics, let them hit on-demand pricing. Hybrid works best.
Real Numbers: What I See Clients Paying
| Workload Type | Monthly Queries | Avg Bytes/Query | On-Demand Cost | Flat-Rate (200 slots) |
|---|---|---|---|---|
| Ad-hoc analytics | 5,000 | 50 GB | $1,562 | $1,968 (≈$984 at 3yr commit) |
| Production dashboards | 50,000 | 2 GB | $625 | $1,968 (worse) |
| Data pipeline (daily) | 100 | 500 GB | $312 | $1,968 (overkill) |
Table from GCP vs AWS 2026 — my own data matches closely.
The takeaway: flat-rate only beats on-demand when you have consistent, medium-to-large queries across many users. 200 slots cost ~$2,000/month at 3-year commitment. If your on-demand bill is below that, stay on-demand.
The 2026 Shift: AI Workloads Change Everything
Google announced BigQuery ML v2 in early 2026. Now you can run LLM inference directly in SQL. That's cool — but expensive.
Model inference costs are based on input tokens + output tokens. A single query that generates embeddings for 1M rows can cost $100+ in model execution. That's separate from data scanning.
I've seen teams classify customer reviews with BigQuery ML and forget to monitor inference costs. Their bill tripled overnight. The old cost-per-query model didn't account for this.
Protip: separate your ML queries into a different reservation. Track slot usage for ML vs. SQL.
FAQ: GCP BigQuery Cost Per Query 2026
Does BigQuery still charge $5 per TB?
No. The on-demand price increased to $6.25 per TB as of late 2024. Committed use discounts bring it lower, but list price is $6.25/TB.
What's the cheapest way to run BigQuery for a startup?
On-demand with a budget alert at $1,000/month. Don't buy flat-rate until your bill exceeds $2K consistently. Use clustered tables and cache.
How do I monitor query costs in real time?
Use INFORMATION_SCHEMA.JOBS_BY_PROJECT with a scheduled query that emails you when daily spend exceeds threshold. Set up billing alerts in GCP console.
Can I cap BigQuery spending?
Yes, create a daily budget in GCP Billing. But budgets don't kill queries — they only alert. For actual cost control, you need to set max_bytes_billed per query:
sql
-- Set a limit of $125 per query (20TB @ $6.25/TB)
SET max_bytes_billed = 20000000000000;
Is BigQuery cheaper than Redshift in 2026?
It depends. Redshift reserved instances are cheaper for steady-state heavy workloads. BigQuery wins for variable, multi-user analytics. AWS vs Azure vs GCP Cost Comparison 2026 shows BigQuery 30% cheaper on average for ad-hoc queries.
What's the biggest mistake people make with BigQuery pricing?
Not partitioning by time and clustering by filter columns. A single unpartitioned query on a 10TB table costs $62.50 — 10 analysts doing that daily = $18,750/month.
How does the storage write API affect cost?
The Storage Write API is free for inserts. Streaming inserts (insertAll) cost $0.05/MB. Always use the Write API for high-volume ingestion.
Should I use a migration tool to move from AWS?
Yes. Google's Migrate from AWS to GCP tool handles compute and storage. For BigQuery specifically, use the Data Transfer Service for historical data. Don't manually export/import.
The Big Picture: Cost Per Query Is Just One Metric
I've seen teams obsess over per-query cost while ignoring total cost of ownership. BigQuery's serverless nature means zero idle compute — that's a huge win vs. Redshift or Snowflake.
But if you're doing gcp bigquery cost per query 2026 analysis, remember: you're paying for compute, storage, networking, and ML. Optimize them together.
My playbook:
- Month 1: Audit current spend using the query above
- Month 2: Implement clustering and caching (saves 40-60%)
- Month 3: Evaluate flat-rate vs. on-demand
- Month 4: Set up automated cost alerts
Don't wait until your CFO gets an invoice. Start now.
Nishaant Dixit — Founder of SIVARO. Building data infrastructure and production AI systems since 2018. Built systems processing 200K events/sec.