On-demand queries are charged based on the number of bytes read. For current on-demand query pricing, see the Pricing page.
To estimate costs before running a query use the:
- Query validator in the Cloud Console
--dry_run
flag in thebq
command-line tooldryRun
parameter when submitting a query job using the API- Google Cloud Pricing Calculator
- Client libraries
Estimating query costs
To estimate query costs:
Console
When you enter a query in the Cloud Console, the query validator verifies the query syntax and provides an estimate of the number of bytes read. You can use this estimate to calculate query cost in the Pricing Calculator.
bq
When you run a query in the bq
command-line tool, you can use the --dry_run
flag to
estimate the number of bytes read. You can use this estimate to calculate
query cost in the Pricing Calculator.
A bq
tool query that uses the --dry_run
flag looks like the following:
bq query \ --use_legacy_sql=false \ --dry_run \ 'SELECT column1, column2, column3 FROM `project_id.dataset.table` LIMIT 1000'
When you run the command, the response contains the estimated bytes read:
Query successfully validated. Assuming the tables are not modified, running
this query will process 10918 bytes of data.
API
To perform a dry run by using the API, submit a query job with
dryRun
set to true
.
go
Before trying this sample, follow the Go setup instructions in the
BigQuery Quickstart Using Client Libraries.
For more information, see the
BigQuery Go API reference documentation.
Java
Before trying this sample, follow the Java setup instructions in the
BigQuery Quickstart Using Client Libraries.
For more information, see the
BigQuery Java API reference documentation.
Node.js
Before trying this sample, follow the Node.js setup instructions in the
BigQuery Quickstart Using Client Libraries.
For more information, see the
BigQuery Node.js API reference documentation.
Python
Before trying this sample, follow the Python setup instructions in the
BigQuery Quickstart Using Client Libraries.
For more information, see the
BigQuery Python API reference documentation.
True
.
Client.query()
always returns a completed
QueryJob
when provided a dry run query configuration.
Estimating query costs using the Google Cloud Pricing Calculator
To estimate on-demand query costs in the Google Cloud Pricing Calculator, enter the number of bytes that are processed by the query as B, KB, MB, GB, TB, or PB. If your query processes less than 1 TB, the estimate is $0 because BigQuery provides 1 TB of on-demand query processing free per month.
To estimate the cost of a query using the pricing calculator:
- Open the Google Cloud Pricing Calculator,
- Click BigQuery.
- Click the On-Demand tab.
- For Table Name, type the name of the table. For example,
airports
. - For Storage Pricing, enter
0
in the Storage field. - For Query Pricing, enter the estimated bytes read from your dry run or
the query validator.
- Click Add To Estimate.
- The estimate appears to the right. Notice that you can save or email the
estimate.
In this case, the number of bytes read by the query is below the 1 TB of on-demand processing provided via the free tier. As a result, the estimated cost is $0.
Including flat-rate pricing in the Pricing Calculator
If you have flat-rate pricing applied to your billing account, you can click the Flat-Rate tab, choose your flat-rate plan, and add your storage costs to the estimate.
For more information, see Flat-rate pricing.
Estimating storage costs using the Google Cloud Pricing Calculator
To estimate storage costs in the Google Cloud Pricing Calculator, enter the number of bytes that are stored as B, KB, MB, GB, TB, or PB. BigQuery provides 10 GB of storage free per month.
To estimate storage costs using the pricing calculator:
- Open the Google Cloud Pricing Calculator.
- Click BigQuery.
- Click the On-Demand tab.
- For Table Name, type the name of the table. For example,
airports
. - For Storage Pricing, enter
100
in the Storage field. Leave the measure set toGB
. - Click Add To Estimate.
- The estimate appears to the right. Notice that you can save or email the
estimate.