本页面介绍了 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 查询。 
- 点击运行。 
- 查询运行完毕后,如需查看查询执行计划,请点击说明标签页。 - 信息面板会显示有关查询的详细信息。如果 Spanner 确定新索引或更改后的索引可以提高查询性能,则系统会显示索引建议卡片。 
- 如需查看索引建议 DDL 语句,请在索引建议卡片中点击查看详细信息以查看索引。 
采纳建议
Spanner 索引建议会为建议的索引提供完整的 CREATE INDEX 和 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 和 ALTER INDEX DDL 语句。
如需应用索引顾问的建议,请完全按照所示将索引顾问的 DDL 语句复制到 Spanner Studio 编辑器中并运行。
- 在索引建议窗格中,选择要复制的 DDL 语句。 - Spanner 会每 12 小时为前 12 小时内执行的 TopN 查询生成建议。索引建议窗格会显示上次刷新时间的记录。   
- 点击复制到 Spanner Studio。Google Cloud 控制台会显示 Spanner Studio 编辑器。 - 如果您是精细访问权限控制用户,则不会看到复制到 Spanner Studio 按钮,并且无法运行 DDL 语句。 
- 在 Spanner Studio 编辑器中,运行复制的 DDL 语句。