このページでは、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 個のクエリとタグ] テーブルを表示します。
表には [推奨事項] 列が表示されます。新しいインデックスまたは変更されたインデックスによってクエリのパフォーマンスを改善できると Spanner が判断すると、インデックスの推奨事項が表示されます。Google Cloud コンソールでの表示内容については、問題のある可能性のあるクエリタグまたはリクエストタグを特定するをご覧ください。
インデックス推奨事項の DDL ステートメントを表示するには、[インデックス推奨事項] をクリックします。
推奨事項を適用する
Spanner インデックスの推奨事項には、推奨されるインデックスの完全な CREATE INDEX
DDL ステートメントと ALTER INDEX
DDL ステートメントが含まれています。
インデックス アドバイザーの推奨事項を適用するには、インデックス アドバイザーの DDL ステートメントをコピーして、表示されているとおりに Spanner Studio エディタで実行します。
[インデックス レコメンデーション] ペインで、コピーする DDL ステートメントを選択します。
Spanner は、直前の 12 時間に実行された TopN クエリに対して、12 時間ごとに TopN クエリの推奨事項を生成します。[インデックスの推奨事項] ペインには、最終更新からの経過時間の記録が表示されます。
[Spanner Studio にコピー] をクリックします。Google Cloud コンソールに Spanner Studio エディタが表示されます。
きめ細かなアクセス制御のユーザーの場合、[Spanner Studio にコピー] ボタンは表示されず、DDL ステートメントを実行できません。
Spanner Studio エディタで、コピーした DDL ステートメントを実行します。
次のステップ
Spanner のセカンダリ インデックスの詳細。
SQL のベスト プラクティスの詳細を確認する。
パフォーマンス低下のトラブルシューティング方法を学習する。