我在 BigQuery Legacy SQL 中有以下查询。到目前为止,此查询运行没有问题。
#legacySQL
SELECT
Var1 AS Var1,
Var2 AS Var2,
Var3 AS Var3,
Var4 AS Var4,
FROM
TABLE_DATE_RANGE([xxx.yyy_], DATE_ADD(CURRENT_TIMESTAMP(), -33, 'DAY'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY'))
在我们希望将所有查询逐步移至 StandardSQL 之后,新查询已在 StandardSQL 中编写如下。
#standardSQL
SELECT
Var1 AS Var1,
Var2 AS Var2,
Var3 AS Var3,
Var4 AS Var4,
FROM
`xxx.yyy_20*`
WHERE
parse_date('%y%m%d', _table_suffix) between DATE_ADD(CURRENT_DATE(), INTERVAL -33 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
但是,此查询不再运行,而带有 LegacySQL 的变体工作正常。我收到以下错误消息:错误:响应太大而无法返回。考虑在您的作业配置中将 allowLargeResults 设置为 true。
带有 _table_suffix 的变体性能会差很多吗?还是有替代方案?我使用 Table_Date_Range 来查询大约 400 个表。
我想将结果保存为视图,而不必通过“AllowLargeResults”将它们写入表中。
非常感谢!