在 SQL Server Profiler 中使用 SHOWPLAN 结果来分析查询

适用于:SQL ServerAzure SQL 托管实例

可以将导致 SQL Server Profiler 在跟踪中收集和显示查询计划信息的 Showplan 事件类添加到跟踪定义。 也可能从跟踪中收集的其他事件中提取显示计划事件,并将这些显示计划事件保存在单独的 XML 文件中。

可以用下列一种方法从跟踪中提取显示计划事件:

  • 在配置跟踪时,使用 “事件提取设置” 选项卡。注意,此选项卡只有在选择了 “事件选择” 选项卡上的一个显示计划事件后才会显示。

  • 使用 “文件” 菜单上的 “提取 SQL Server 事件” 选项。

  • 通过右键单击特定事件并选择“提取事件数据”,提取并保存单个事件。

显示计划事件

下表中列出并说明了显示计划跟踪事件。

事件名称 说明
Performance statistics 指明编写的显示计划第一次保存到缓存中、何时对其重新编写以及何时将其从计划缓存中删除。 TextData 列包含 XML 格式的显示计划。 有关详细信息,请参阅 Performance Statistics 事件类
Showplan All 显示查询计划,列出已执行的 Transact-SQL 语句的完整编写时详细信息。 例如,可能显示估计开销值和列列表。 有关详细信息,请参阅 Showplan All Event Class
Showplan All For Query Compile 当查询在 SQL Server上编译或重新编译时发生。 它是 Showplan All 事件的编译时对等事件。 Showplan All 在执行查询时发生。 编写查询时发生Showplan All For Query Compile 。 有关详细信息,请参阅 Showplan All for Query Compile Event Class
Showplan Statistics Profile 显示查询计划,列出正在执行的 Transact-SQL 语句的完整运行时详细信息(包括通过每个操作传递的实际行数)。 有关详细信息,请参阅 Showplan Statistics Profile Event Class
Showplan Text 将正在执行的 Transact-SQL 语句的查询计划树显示为二进制数据。 有关详细信息,请参阅 Showplan Text Event Class
Showplan Text (Unencoded) 将正在执行的 Transact-SQL 语句的查询计划树显示为文本。 除了此事件类显示文本而不是二进制数据以外,此事件类显示的信息与 Showplan Text 相同。 有关详细信息,请参阅 Showplan Text (Unencoded) 事件类
Showplan XML 显示查询计划,列出在查询优化期间收集的完整数据。 仅当优化查询计划时才生成此事件。 有关详细信息,请参阅 Showplan XML Event Class
Showplan XML For Query Compile 编写完查询后,显示查询计划。 有关详细信息,请参阅 Showplan XML for Query Compile Event Class
Showplan XML Statistics Profile 显示查询计划,列出 XML 格式的完整运行时详细信息。 例如,此事件类捕获通过已执行的 Transact-SQL 语句的每个运算符传递的行数。 有关详细信息,请参阅 Showplan XML Statistics Profile Event Class

另请参阅

“性能”事件类别