概要
SQL プッシュダウン は最適化手法の一つです。これは、BigQuery がフィルタリングなどのオペレーションを自身で実行する代わりに、外部データソース(例: Cloud SQL または Cloud Spanner データベース)に委任するときに行われます。
何がGood?
BigQuery に戻す必要があるデータの量が少なくなるため、クエリの総実行時間が短縮されます。また、処理されるデータが少なくなるため、コストを大幅に削減できます。
BT Group のデジタル部門がクエリを見直したところ、上記のようなクエリを BigQuery 連携クエリが実行するのに 10 分かかっていたことがわかりました。今では、プッシュダウンのおかげで 26 秒しかかかりません。
Usage
現在、SQL プッシュダウンは SELECT * FROM T という形式のクエリにのみ適用されます。
Cloud SQL - プッシュダウンなし
SELECT *
FROM operations_table
Cloud SQL - プッシュダウンあり
SELECT
"a",
"b",
"c"
FROM (
SELECT *
FROM operations_table) t
WHERE
(("a" = $1)
AND (NOT "b" IN ($2,
$3))
AND ("c" = $4))
(BigQuery) SQL pushdown is generally available (GA).
概要
SQL プッシュダウン は最適化手法の一つです。これは、BigQuery がフィルタリングなどのオペレーションを自身で実行する代わりに、外部データソース(例: Cloud SQL または Cloud Spanner データベース)に委任するときに行われます。
何がGood?
BigQuery に戻す必要があるデータの量が少なくなるため、クエリの総実行時間が短縮されます。また、処理されるデータが少なくなるため、コストを大幅に削減できます。
BT Group のデジタル部門がクエリを見直したところ、上記のようなクエリを BigQuery 連携クエリが実行するのに 10 分かかっていたことがわかりました。今では、プッシュダウンのおかげで 26 秒しかかかりません。
Usage
現在、SQL プッシュダウンは SELECT * FROM T という形式のクエリにのみ適用されます。
Cloud SQL - プッシュダウンなし
Cloud SQL - プッシュダウンあり