欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » SQLServer教程 » 正文

热门阅读

利用showplan_all查看sql详细执行计划

创建时间:2011年09月13日 11:28  阅读次数:(6741)
分享到:
可能我们都知道Microsoft sql server management studio工具栏中的 "显示估计的执行计划" 按钮了,我们可以选中任何可执行的SQL,然后点击该按钮,SQL就会给我们选中SQL的图形执行计划了。

今天我们就利用showplan_all设置让SQL返回文字型的详细执行计划。

先看看showplan_all的功能:
功能描述:
SQL Server 返回有关语句执行情况的详细信息,并估计语句对资源的需求。
SET SHOWPLAN_ALL 的设置是在执行或运行时设置,而不是在分析时设置。

具体示例:
假如我要查看视图v_bas_unit的详细执行计划
set showplan_all on
go
select UnitCode from v_BAS_Unit


返回结果:
select UnitCode from v_BAS_Unit 1 1 0 NULL NULL 1 NULL 7 NULL NULL NULL 0.0032897 NULL NULL SELECT 0 NULL
  |--Index Scan(OBJECT:([SDERP].[dbo].[BAS_Unit].[IX_BAS_Unit] AS [A])) 1 2 1 Index Scan Index Scan OBJECT:([SDERP].[dbo].[BAS_Unit].[IX_BAS_Unit] AS [A]) [A].[UnitCode] 7 0.003125 0.0001647 36 0.0032897 [A].[UnitCode] NULL PLAN_ROW 0 1

上面返回结果排版比较混乱,大家可以在自己的Microsoft sql server management studio看测试结果。

注意:
1,set showplan_all设置对整个会话都有效,就是说在某个会话中,如果你有设置过set showplan_all on,那么在这个会话中任何后续sql都不会再执行,而是返回sql对应的执行计划。
2,设置了set showplan_all on后执行create table或者create view 等创建对象的SQL语句,实际上不会创建对应的对象,所以你想在设置了set showplan_all on后再创建某对象再调用某对象,就会报该对象不存在错误。
3,执行set showplan_all off可关闭该设置
4,不能在存储过程中设置set showplan_all on,它必须是批处理中的唯一语句nbsp;{ alert("复制失败!") }
}
n
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 70+99=? 的结果(结果是:169)
结  果: