我使用BigQuery for Java对一个数据约为5GB的表进行小读取。我所做的查询遵循最标准的SQL,如SELECT foo FROM my-table WHERE bar=$1,结果最多为1行。我需要在一个高频率这样做,因此性能是一个很大的关注。如何对此进行优化?在BigQuery控制台中运行此查询会显示类似于Query complete (0.6 sec elapsed, 4.2 GB processed)的内容。快4.2GB,但不够快。也许让服务器以某种方式缓存处理过的数据?
作为Bigquery解决方案的一部分,我们有一个cron作业,它检查在dataset中创建的最新表,如果该表不在date.This,则将创建更多的表。__] WHERE table_id LIKE 'table_root%' ORDER BY creation_time DESC LIMIT 1
我们的集成测试最近一直在抛出错误,因为这个查询击中了Bigquery的内部缓存,尽管对底层表运行查询会提供不同的结果。如