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

适用于:SQL ServerAzure SQL 托管实例

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

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

  • 在跟踪配置时,使用 “事件提取设置” 选项卡。此选项卡只有在 “事件选择” 选项卡中选择一个 Showplan 事件后才会出现。

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

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

Showplan 事件

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

事件名称 说明
性能统计信息 显示首次将已编译的 Showplan 缓存、重新编译的时间和从计划缓存中删除的时间。 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
显示计划文本 将正在执行的 Transact-SQL 语句的查询计划树显示为二进制数据。 有关详细信息,请参阅 Showplan Text Event Class
显示计划文本 (未编码) 将正在执行的 Transact-SQL 语句的查询计划树显示为文本。 除了此事件类显示文本而不是二进制数据以外,此事件类显示的信息与 Showplan Text 相同。 有关详细信息,请参阅 Showplan Text (Unencoded) 事件类
Showplan XML 显示查询计划,列出在查询优化期间收集的完整数据。 仅当优化查询计划时才生成此事件。 有关详细信息,请参阅 Showplan XML Event Class
用于查询编译的 Showplan XML 编写完查询后,显示查询计划。 有关详细信息,请参阅 Showplan XML for Query Compile Event Class
Showplan XML 统计信息概要 显示查询计划,列出 XML 格式的完整运行时详细信息。 例如,此事件类捕获通过已执行的 Transact-SQL 语句的每个运算符传递的行数。 有关详细信息,请参阅 Showplan XML Statistics Profile Event Class