BigQuery レガシー 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」を介してテーブルに書き込む必要はありません。
どうもありがとう!