繁体   English   中英

SQL 服务器执行计划

[英]SQL server execution plan

如何捕获 SQL 查询执行计划。 有人告诉我可以通过系统表检索它们

正如gbn指出的那样,您可以通过多种不同方式来查看查询的执行计划。 鉴于您的问题涉及系统表的使用,我假设您正在谈论动态管理视图(DMV),因此您也仅对计划缓存中当前的查询计划感兴趣。

如果您有兴趣从计划缓存中为特定查询标识查询计划,则可以使用如下形式的查询:

SELECT  deqs.plan_handle ,
        deqs.sql_handle ,
        execText.text
FROM    sys.dm_exec_query_stats deqs
        CROSS APPLY sys.dm_exec_sql_text(deqs.plan_handle) AS execText
WHERE   execText.text LIKE '%QueryText%'

为了进一步阅读,请查看文章查询计划元数据的DMV。


如果说您对查看计划缓存中当前引用的性能最差的查询的性能更感兴趣,则可以利用出色且免费的SQL Server性能仪表板报告。


当然,还有其他查看查询计划的方法,但是在不完全知道您要实现的目标的情况下,这些方法可能不适合您的需求。

在MSDN上的快速搜索将为您提供: http : //msdn.microsoft.com/zh-cn/library/ms189747.aspx

希望能帮助到你。

这个问题可能更清楚,但我想有些人来这里可能正在寻找最简单的方法来获取查询的执行计划

捕获查询执行计划的最简单方法是单击“包括实际执行计划”按钮并在 SSMS 上执行查询

包括实际执行计划按钮

结果将与查询结果一起显示为选项卡

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM