使用TABLE_QUERY的BigQuery表性能损失

时间:2014-06-02 02:00:22

标签: google-bigquery

在查询多个表时,与一个大表相比,性能出乎意料。情形:

我们有一个基于BigQuery的简单网络分析工具。我们跟踪各个站点的基本事件。大约一个月,我们将所有数据汇总到一个大表中。现在,我们正在通过SITE和MONTH将数据分解为分区。

所以大表只是[events.all]

现在我们有[events.events_2014_06_SITEID]

更快地查询特定组的各个表,并处理更少的数据。但是即使是简单的查询,查询我们的整个数据集也要慢得多。我们的新数据集只有1天,而大表是30天,所以尽管查询的数据少得多,但速度较慢。

例如:

select count(et) from [events.all] where et='re' - >在3.2s内完成,处理79mb的数据。该表有21,048,979行。

select count(et) from ( TABLE_QUERY(events, 'table_id CONTAINS "events_2014_"') ) where et='re' - >完成44.2秒,处理1.8mb的数据。放在一起,这些表有492,264行。

为什么会发生这种情况,有没有办法解决这个巨大的差异?

0 个答案:

没有答案