使用BigQuery标准SQL和日期分区表来执行语句。在表名称后面添加分区过滤器,以仅使用特定分区运行查询。以下是一个例子:
SELECT *
FROM mydataset.mytable$20221005
WHERE date_field BETWEEN '2022-10-01' AND '2022-10-05';
在此示例中,mydataset.mytable$20221005
是一个日期分区表,该表旨在存储2022年10月5日之前的数据。查询使用日期分区表的一个分区来执行,以减少数据处理和查询时间。这个查询将只返回日期字段在2022年10月1日至2022年10月5日期间的记录。
如果您需要使用合并语句,请确保查询只针对特定分区执行,如以下示例:
MERGE mydataset.mytable
AS t
USING (
SELECT *
FROM mydataset.mytable$20221005
WHERE date_field BETWEEN '2022-10-01' AND '2022-10-05'
) AS s
ON t.id = s.id
WHEN MATCHED THEN
UPDATE SET t.value = s.value;
在此示例中,mydataset.mytable$20221005
是一个日期分区表,该表旨在存储2022年10月5日之前的数据。查询仅使用该分区中的数据来执行Merge语句。