使用索引顾问

本页面介绍了 Cloud SQL for SQL Server 索引顾问,以及如何查看和应用其索引建议。

Cloud SQL for SQL Server 提供全托管式索引顾问,用于定期跟踪您的数据库处理的查询。索引顾问会定期分析这些查询,以建议可提高查询性能的新索引。借助索引顾问,您可以检测并修复系统和查询的性能问题。

索引顾问如何运作?

索引顾问通过执行以下操作来帮助您改善查询处理:

  • 通过用于创建索引的 SQL 命令推荐一组索引。
  • 提供数据以帮助您评估建议索引,例如,估算存储空间大小以及索引对查询的影响。
索引顾问会存储并显示 CREATE INDEX 命令,其中包含数据库名称、架构名称、表名称和列名称。跟踪的查询是已移除所有字面量的所有规范化查询。

索引建议采用静态加密。

限制

Cloud SQL for SQL Server 索引顾问具有以下限制:

  • 索引顾问仅提供 CREATE INDEX 建议。
  • 索引顾问不支持 Cloud SQL 企业版实例。

准备工作

如需获取索引顾问建议,您必须使用 Cloud SQL 企业 Plus 版,并为 Cloud SQL 实例启用 Cloud SQL 企业 Plus 版 Query Insights

所需的角色和权限

如需获得获取索引顾问建议所需的权限,请让您的管理员为您授予托管 Cloud SQL 实例的项目的 Cloud SQL Viewer (roles/cloudsql.viewer) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含获取索引顾问建议所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需获取索引顾问建议,您需要拥有以下权限:

  • databaseinsights.recommendations.query
  • databaseinsights.resourceRecommendations.query

您也可以使用自定义角色或其他预定义角色来获取这些权限。

启用索引顾问建议

启用 Cloud SQL 企业 Plus 版 Query Insights 后,系统会自动启用索引顾问建议。

停用索引顾问建议

您无法在不停用 Cloud SQL 企业 Plus 版 Query Insights 的情况下停用索引顾问建议。

如需停用索引顾问建议和 Cloud SQL 企业 Plus 版 Query Insights,请参阅停用 Cloud SQL 企业 Plus 版 Query Insights

查看索引顾问建议

Cloud SQL 会定期自动运行索引顾问分析。如需查看索引顾问建议,请使用 Query Insights 信息中心。

在 Query Insights 信息中心内查看和过滤建议

  1. 在 Google Cloud 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 点击 Query Insights
  4. 点击启用。索引顾问建议会显示在主要维度(按数据库负载)部分的查询标签页的建议列中。
  5. 可选:如需仅查看具有 CREATE INDEX 建议的查询,请为建议:创建索引添加过滤条件。

查看针对查询的建议

如需查看针对特定查询的索引建议,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 点击 Query Insights
  4. 热门查询和标记部分中,点击查询
  5. 如需获取查询的建议详细信息,请执行以下操作之一:
    • 点击某个查询以详细了解针对所选查询的建议,包括以下信息:
      • 性能影响(高、中、低):创建所有建议索引后的估算查询速度。
      • 建议:创建索引建议。
      • 受影响的表:创建索引时将受到影响的表的数量。
      • 所需的额外估算存储空间:创建所有建议索引所需的估算存储空间大小。
      • 受影响的查询数量:工作负载中受索引建议影响的查询总数。一个索引可能使多个查询受益。
    • 针对特定查询点击创建索引以了解有关创建索引以提高查询性能的详细建议。

查看受影响的查询

  1. 在 Google Cloud 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 点击 Query Insights
  4. 主要维度(按数据库负载)表中,点击查询
  5. 针对特定查询点击创建索引
  6. 点击显示受影响的查询
  7. 点击某个查询即可详细了解受影响的查询。

后续步骤