【发布时间】:2018-03-15 09:54:03
【问题描述】:
我们可以创建一个由Partitioning Field 分区的表。 Doc Reference here.
我创建了一个包含 2 个字段的表 visitors:
- 访客:STRING
- part: TIMESTAMP
当我查询表格时:
SELECT
*
FROM
mydataset.visitors
WHERE
part >= "2018-03-14 09:00:00"
AND part < "2018-03-15 18:00:00"
问题:
- BigQuery 引擎是否足够智能,仅扫描 2018-03-14 和 2018-03-15 两个分区,然后找到满足小时范围的所有行?
- BigQUery 是否对所有分区进行全面扫描?
谢谢
【问题讨论】:
-
分区表的重点在于 BigQuery 只需扫描 where 子句中引用的分区。您可以通过删除 where 子句轻松看到这一点,并且您会看到要处理的数据量增加(在 UI 中)。要回答你的问题,是的,它足够聪明 ;-)
-
谢谢,@GrahamPolley!这回答了我的问题:)
-
@GrahamPolley 我可以请你发表评论作为答案吗?
-
好的,我会这样做的。看起来更像是评论;-)
标签: sql google-bigquery partitioning