在 SQL Server Profiler 中使用 SHOWPLAN 结果来分析查询
可以将导致 SQL Server Profiler 在跟踪中收集和显示查询计划信息的 Showplan 事件类添加到跟踪定义。 也可能从跟踪中收集的其他事件中提取显示计划事件,并将这些显示计划事件保存在单独的 XML 文件中。
可以用下列一种方法从跟踪中提取显示计划事件:
在配置跟踪时,使用**“事件提取设置”选项卡。 注意,此选项卡只有在选择了“事件选择”**选项卡上的一个显示计划事件后才会显示。
使用**“文件”菜单上的“提取 SQL Server 事件”**选项。
通过右键单击特定事件并选择**“提取事件数据”**,提取并保存单个事件。
显示计划事件
下表中列出并说明了显示计划跟踪事件。
事件名称 |
说明 |
---|---|
Performance statistics |
指明编写的显示计划第一次保存到缓存中、何时对其重新编写以及何时将其从计划缓存中删除。 TextData 列包含 XML 格式的显示计划。 有关详细信息,请参阅Performance Statistics 事件类。 |
Showplan All |
显示查询计划,列出已执行的 Transact-SQL 语句的完整编写时详细信息。 例如,可能显示估计开销值和列列表。 有关详细信息,请参阅 Showplan All 事件类。 |
Showplan All For Query Compile |
当查询在 SQL Server 上编译或重新编译时发生。 它是 Showplan All 事件的编译时对等事件。 Showplan All 在执行查询时发生。 编写查询时发生 Showplan All For Query Compile。 有关详细信息,请参阅 Showplan All for Query Compile 事件类。 |
Showplan Statistics Profile |
显示查询计划,列出正在执行的 Transact-SQL 语句的完整运行时详细信息(包括通过每个操作传递的实际行数)。 有关详细信息,请参阅 Showplan Statistics Profile 事件类。 |
Showplan Text |
将正在执行的 Transact-SQL 语句的查询计划树显示为二进制数据。 有关详细信息,请参阅 Showplan Text 事件类。 |
Showplan Text (Unencoded) |
将正在执行的 Transact-SQL 语句的查询计划树显示为文本。 除了此事件类显示文本而不是二进制数据以外,此事件类显示的信息与 Showplan Text 相同。 有关详细信息,请参阅 Showplan Text (Unencoded) 事件类。 |
Showplan XML |
显示查询计划,列出在查询优化期间收集的完整数据。 仅当优化查询计划时才生成此事件。 有关详细信息,请参阅 Showplan XML 事件类。 |
Showplan XML For Query Compile |
编写完查询后,显示查询计划。 有关详细信息,请参阅 Showplan XML For Query Compile 事件类。 |
Showplan XML Statistics Profile |
显示查询计划,列出 XML 格式的完整运行时详细信息。 例如,此事件类捕获通过已执行的 Transact-SQL 语句的每个运算符的行数。 有关详细信息,请参阅 Showplan XML Statistics Profile 事件类。 |