一般的に、クエリは処理量が少ない方がパフォーマンスが高まります。クエリのパフォーマンスを評価する場合、そのクエリに必要な処理量は次の要因で左右されます。
- 入力データとデータソース(I/O): クエリで何バイト読み込むか。
- ノード間の通信(シャッフル): クエリから次の段階に何バイト転送するか。
- コンピューティング: クエリが必要とする CPU 作業量はどれくらいか。
- 出力(実体化): クエリで何バイト書き込むか。
- クエリのアンチパターン: クエリは SQL のベスト プラクティスに従っているか。
クエリの実行がサービスレベル契約を満たしていない場合、またはリソースの枯渇やタイムアウトが原因でエラーが発生した場合は、BigQuery の最適化を検討してください。