単純なBigQueryクエリ SELECT country, state, city FROM mytable GROUP BY country が常に遅いです。クエリプランでは、Stage:1 で大量の読み取りが示されています。最も可能性の高い原因は何ですか?
解答を選択
オプションをタップして解答を確認してください。
正解: ほとんどの行が同じcountry値を持っており、データスキューを引き起こしている.
これが解答である理由
このクエリは country でグループ化していますが、state と city も選択しています。BigQueryは、GROUP BY 句にない列を選択する場合、それらの列を一意に識別するために、GROUP BY 句の列と組み合わせてハッシュ化します。もしほとんどの行が同じ country 値を持つ場合、BigQueryは単一の country 値に関連付けられたすべての state と city の組み合わせを処理しようとするため、単一のシャードに大量のデータが集中し、データスキューが発生します。これにより、処理がボトルネックとなり、クエリが遅くなります。 他の選択肢は、この特定のシナリオの最も可能性の高い原因ではありません。同時実行ユーザーは一般的なパフォーマンス問題を引き起こしますが、このクエリプランの特定の兆候とは直接関係ありません。パーティションが多すぎることは、通常、読み取りパフォーマンスを低下させません。NULL値の多さは、クエリのパフォーマンスに大きな影響を与えません。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要