如何加速BigQuery中的通配符表查询?

时间:2017-12-26 22:37:46

标签: google-bigquery google-cloud-platform

我运行了这个查询:

SELECT
  _TABLE_SUFFIX table_id
FROM
  `mydataset.*`
WHERE
  _PARTITIONTIME = TIMESTAMP("2017-12-26")
GROUP BY
  table_id

查询完成(已过71.0,已处理0 B)

这是执行计划:

BigQuery execution plan

我对此有几个问题:

  1. 这样一个简单的查询花了70多秒,这是正常的吗?
  2. 我做错了什么?
  3. 无论如何可以减少查询时间吗?

1 个答案:

答案 0 :(得分:1)

您的查询与2000多个表匹配。读取这些表的存储元数据需要48秒。我们可以检查一下是否可以加快速度。在某种意义上,分区表上的通配符表是支持两级分区表之前的临时解决方法,其中元数据将小得多,1个表与2000个表。