By default, BigQuery uses Query caching to speed up response times for common queries that may be used multiple times.
This is important to remember if you are loading or streaming data constantly into the database, because your cached query results may not be the most up to date results for the query.
If you want to disable query caching, you can set the parameter in the query body that you send to the API:
{
"kind": "bigquery#queryRequest",
"query": query,
"defaultDataset": {
"datasetId": string,
"projectId": string
},
"useQueryCache": False
}
This should make it so that your repeat requests of the same query will have relatively the same response time, but you will be billed for each query request, as opposed to being billed for just the one request that it takes to cache the results.