コピペコードで快適生活

明日使えるソースを自分のために

BigQueryのクエリ料金メモ

BigQueryのクエリ課金にビビっていたので、課金ルールを確認した。

  • テーブルスキャンした対象の列のデータ量に応じて課金される
    • SELECT * やると全列分に課金されるので、必要な分だけに絞る。
  • インデックスはないのでフルスキャン
    • whereに何書いてもフルスキャンされる
    • テーブル分割することでスキャン対象を絞ることができる
  • キャッシュ
    • クエリの結果は匿名データセット(=キャッシュ)に保存される
    • クエリはまずキャッシュがあるかチェックする
    • キャッシュを返す場合はコストゼロ
  • dry-runで走査するデータ量を確認できる
    • dry-runはbqコマンドのオプション指定で実行できる
    • 2021-01-05時点でconsoleからはできない模様 → でもクエリ実行前に走査量は確認できる
  • link