

# 使用 Amazon RDS 的性能详情控制面板分析 SQL Server 执行计划
<a name="USER_PerfInsights.UsingDashboard.AccessPlansSqlServer"></a>

分析 SQL Server 数据库上的数据库负载时，您可能想了解哪些计划对数据库负载的贡献最大。您可以使用性能详情的计划捕获特征，来确定哪些计划对数据库负载的贡献最大。

**使用控制台分析 SQL Server 执行计划**

1. 通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**性能详情**。

1. 选择 SQL Server 数据库实例。将为该数据库实例显示 Performance Insights 控制面板。

1. 在 **Database load (DB load)**（数据库负载）部分，选择 **Slice by**（切片依据）旁边的 **Plans**（计划）。

   平均活动会话图表显示了主要 SQL 语句使用的计划。计划哈希值显示在彩色方块的右侧。每个哈希值唯一标识每个计划。  
![\[按计划切片\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/pi-slice-by-plans-sqlserver.png)

1. 向下滚动至 **Top SQL**（主要 SQL）选项卡。

   在以下示例中，主要 SQL 摘要具有三个计划。SQL 语句中存在问号表示该语句是摘要。要查看完整的 SQL 语句，请在 **SQL 语句**列中选择一个值。  
![\[选择摘要计划\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/top-sql-plans-unselected-sqlserver.png)

1. 选择摘要，将其扩展到其组件语句中。

   在以下示例中，`SELECT` 语句为摘要查询。摘要中的组件查询使用三种不同的执行计划。分配给计划的颜色对应于数据库负载图表。  
![\[选择摘要计划\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/pi-digest-plan-sqlserver.png)

1. 向下滚动，然后从 **Plans for digest query**（摘要查询计划）列表中选择两个要比较的 **Plans**（计划）。

   您可以一次查看一个或两个查询计划。以下屏幕截图比较了摘要中的两个计划。在以下示例中，运行此摘要查询的平均活动会话中有 40% 使用左侧的计划，而 28% 使用右侧的计划。  
![\[并排比较计划\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/pi-compare-plan-sqlserver.png)

   在前面的示例中，这些计划在一个重要方面有所不同。左侧计划中的步骤 2 使用表扫描，而右侧的计划使用聚集索引扫描。对于具有大量行的表，使用聚集索引扫描，检索单行的查询几乎总是更快。

1. （可选）选择“计划详细信息”表上的**设置**图标来自定义列的可见性和顺序。以下屏幕截图显示了“计划详细信息”表，其第二列是**输出列表**列。  
![\[自定义“计划详细信息”表中各列的可见性和顺序\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/pi-plan-fields-sql-server.png)

1. （可选）选择 **Copy**（复制）将计划复制到剪贴板，或者选择 **Download**（下载）将计划保存到硬盘。

**注意**  
性能详情使用分层树表来显示估计的执行计划。该表包括每条语句的部分执行信息。有关“计划详细信息”表中各列的更多信息，请参阅 SQL Server 文档中的 [SET SHOWPLAN\$1ALL](https://learn.microsoft.com/en-us/sql/t-sql/statements/set-showplan-all-transact-sql)。要显示估计的执行计划的完整执行信息，请选择**下载**来下载该计划，然后将该计划上传到 SQL Server Management Studio。有关使用 SQL Server Management Studio 显示估计的执行计划的更多信息，请参阅 SQL Server 文档中的[显示估计的执行计划](https://learn.microsoft.com/en-us/sql/relational-databases/performance/display-the-estimated-execution-plan)。