Cloud Spanner は分散システムであり、SQL クエリの実行は場合によっては複雑な分散ストリーム処理となりうる。 よって、パフォーマンス劣化を起こさないように SQL の表現力による利益を得るには Cloud Spanner の低レベルアーキテクチャと高レベルのクエリ実行について両方理解する必要がある。 しかし、実行計画の活用やクエリチューニングについてはまだ公式にもコミュニティでも十分語られているとは言えない。 ここでは Cloud Spanner のクエリパフォーマンスに関係するドキュメントや API のレスポンスに含まれる実行計画の内容について、 公式には説明されていないことも含めた理解とその活用方法を解説する。 主にどのような特性を持つかについて説明しており、ベンチマークを行うのであれば実際のデータやワークロードの傾向について知っている立場で行うことを推奨する。 Use