このページでは、Spanner インデックス アドバイザーと、インデックスの推奨事項を表示および適用する方法について説明します。インデックス アドバイザーは、GoogleSQL 言語データベースと PostgreSQL 言語データベースで使用できます。
Spanner にはインデックス アドバイザー機能があります。この機能はクエリを分析して、クエリのパフォーマンスを改善できる新しいインデックスの作成やインデックスの変更を推奨します。インデックス アドバイザーの推奨事項は、次のいずれかの方法で Google Cloud コンソールで確認できます。
- クエリを実行し、クエリ実行プランを確認する
- Spanner の Query Insights ダッシュボードを使用する
CREATE INDEX と ALTER INDEX の推奨事項を表示するには、 Google Cloud コンソールを使用します。
Spanner インデックスの詳細については、セカンダリ インデックスをご覧ください。
制限事項
Spanner インデックス アドバイザーには次の制限事項があります。
- CREATE INDEXと- ALTER INDEXの推奨事項のみを提供します。既存のインデックスに対する- DROP INDEXの推奨事項は提供されません。
- インデックスの推奨事項は、パフォーマンスの大幅な向上につながる場合にのみ表示されます。 
- きめ細かいアクセス制御ユーザーの場合、または DDL アクセス権がない場合は、インデックス推奨の DDL ステートメントを実行できません。推奨事項をコピーして保存できます。 
クエリ実行プランを使用する
クエリ実行プランからインデックス アドバイザーの推奨事項を表示して適用する手順は次のとおりです。
推奨事項を表示する
クエリ実行プランを表示するには、 Google Cloud コンソールでクエリを実行します。
- Google Cloud コンソールの [Spanner インスタンス] ページに移動します。 
- クエリを実行するデータベースが含まれているインスタンスを選択します。 
- クエリを実行するデータベースの名前を選択します。 
- ナビゲーション メニューで [Spanner Studio] をクリックします。 
- 新しい SQL エディタタブを開きます。 
- エディタペインに SQL クエリを入力します。 
- [実行] をクリックします。 
- クエリの実行が完了したら、[説明] タブをクリックしてクエリ実行プランを表示します。 - 情報パネルには、クエリに関する詳細情報が表示されます。新しいインデックスまたは変更されたインデックスによってクエリのパフォーマンスが向上すると判断された場合、インデックスの推奨事項カードが表示されます。 
- インデックスの推奨事項の DDL ステートメントを表示するには、[インデックスの推奨事項] カードで [詳細を表示] をクリックしてインデックスを表示します。 
推奨事項を適用する
Spanner インデックスの推奨事項には、推奨されるインデックスの完全な CREATE INDEX DDL ステートメントと ALTER INDEX DDL ステートメントが含まれています。
インデックス アドバイザーの推奨事項を適用するには、インデックス アドバイザーの DDL ステートメントをコピーして、Spanner Studio エディタに表示されているとおりに実行します。
- [インデックスの推奨事項] ペインで、コピーする DDL ステートメントの横にあるチェックボックスをオンにします。 
- [新しいタブにコピー] をクリックします。 
- 新しい Spanner Studio エディタタブで、コピーした DDL ステートメントを実行します。 
Query Insights ダッシュボードを使用する
Query Insights ダッシュボードでインデックス アドバイザーの推奨事項を表示して適用する手順は次のとおりです。
推奨事項を表示する
- Google Cloud コンソールの [Spanner インスタンス] ページに移動します。 
- クエリを実行するデータベースを含むインスタンスの名前を選択します。 
- クエリを実行するデータベースの名前を選択します。 
- ナビゲーション メニューで [Query Insights] をクリックします。 
- [上位 N 個のクエリとタグ] テーブルを表示します。 - 表には [推奨事項] 列が表示されます。新しいインデックスまたは変更されたインデックスによってクエリのパフォーマンスが向上すると判断された場合、インデックスの推奨事項が表示されます。 Google Cloud コンソールでどのように表示されるかについては、問題がある可能性のあるクエリやタグを特定するをご覧ください。 
- インデックスの推奨事項の DDL ステートメントを表示するには、[インデックスの推奨事項] をクリックします。 
推奨事項を適用する
Spanner インデックスの推奨事項には、推奨されるインデックスの完全な CREATE INDEX DDL ステートメントと ALTER INDEX DDL ステートメントが含まれています。
インデックス アドバイザーの推奨事項を適用するには、インデックス アドバイザーの DDL ステートメントをコピーして、Spanner Studio エディタに表示されているとおりに実行します。
- [インデックスの推奨事項] ペインで、コピーする DDL ステートメントを選択します。 - Spanner は、直前の 12 時間に実行された上位 N クエリに対して、12 時間ごとに上位 N クエリの推奨事項を生成します。[インデックスの推奨事項] ペインには、最終更新からの経過時間の記録が表示されます。   
- [Spanner Studio にコピー] をクリックします。Google Cloud コンソールに Spanner Studio エディタが表示されます。 - きめ細かなアクセス制御ユーザーには、[Spanner Studio にコピー] ボタンは表示されず、DDL ステートメントを実行できません。 
- Spanner Studio エディタで、コピーした DDL ステートメントを実行します。 
次のステップ
- Spanner のセカンダリ インデックスの詳細を確認する。 
- SQL のベスト プラクティスの詳細を確認する。 
- パフォーマンス低下のトラブルシューティング方法を学習する。