タイムスタンプとIDにWHERE句を指定したBigQueryクエリが、依然としてフルテーブルスキャンをトリガーしています。SQLの変更を最小限に抑えつつ、スキャンされるバイト数を減らすにはどうすればよいですか?
解答を選択
オプションをタップして解答を確認してください。
正解: パーティショニング列とクラスタリング列を使用してテーブルを再作成する。.
これが解答である理由
タイムスタンプとIDでフィルタリングするクエリがフルテーブルスキャンを引き起こす場合、テーブルがパーティショニングやクラスタリングされていない可能性があります。パーティショニング列(タイムスタンプなど)とクラスタリング列(IDなど)を使用してテーブルを再作成することで、BigQueryは関連するデータブロックのみをスキャンし、スキャンされるバイト数を大幅に削減できます。 IDごとに個別のテーブルを作成することは、管理が複雑になり、推奨されません。LIMITキーワードは返される行数を減らしますが、スキャンされるバイト数には影響しません。--maximumbytesbilled フラグは課金を制限しますが、クエリのパフォーマンスを最適化したり、実際にスキャンされるバイト数を減らしたりするものではありません。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要