使用 Amazon RDS 的性能详情控制面板分析 SQL Server 执行计划 - Amazon Relational Database Service

使用 Amazon RDS 的性能详情控制面板分析 SQL Server 执行计划

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

使用控制台分析 SQL Server 执行计划
  1. 通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Performance Insights

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

  4. Database load (DB load)(数据库负载)部分,选择 Slice by(切片依据)旁边的 Plans(计划)。

    平均活动会话图表显示了主要 SQL 语句使用的计划。计划哈希值显示在彩色方块的右侧。每个哈希值唯一标识每个计划。

    按计划切片
  5. 向下滚动至 Top SQL(主要 SQL)选项卡。

    在以下示例中,主要 SQL 摘要具有三个计划。SQL 语句中存在问号表示该语句是摘要。要查看完整的 SQL 语句,请在 SQL 语句列中选择一个值。

    选择摘要计划
  6. 选择摘要,将其扩展到其组件语句中。

    在以下示例中,SELECT 语句为摘要查询。摘要中的组件查询使用三种不同的执行计划。分配给计划的颜色对应于数据库负载图表。

    选择摘要计划
  7. 向下滚动,然后从 Plans for digest query(摘要查询计划)列表中选择两个要比较的 Plans(计划)。

    您可以一次查看一个或两个查询计划。以下屏幕截图比较了摘要中的两个计划。在以下示例中,运行此摘要查询的平均活动会话中有 40% 使用左侧的计划,而 28% 使用右侧的计划。

    并排比较计划

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

  8. (可选)选择“计划详细信息”表上的设置图标来自定义列的可见性和顺序。以下屏幕截图显示了“计划详细信息”表,其第二列是输出列表列。

    自定义“计划详细信息”表中各列的可见性和顺序
  9. (可选)选择 Copy(复制)将计划复制到剪贴板,或者选择 Download(下载)将计划保存到硬盘。

注意

性能详情使用分层树表来显示估计的执行计划。该表包括每条语句的部分执行信息。有关“计划详细信息”表中各列的更多信息,请参阅 SQL Server 文档中的 SET SHOWPLAN_ALL。要显示估计的执行计划的完整执行信息,请选择下载来下载该计划,然后将该计划上传到 SQL Server Management Studio。有关使用 SQL Server Management Studio 显示估计的执行计划的更多信息,请参阅 SQL Server 文档中的显示估计的执行计划