首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看存储过程中一个语句的计划?

如何查看存储过程中一个语句的计划?
EN

Database Administration用户
提问于 2020-01-22 17:11:23
回答 1查看 165关注 0票数 1

在开发过程中,我每天运行几次SQL,通常执行时间为3-8分钟。

现在我已经将它封装在一个存储过程中(没有参数),性能是不可能的。THe first "heavy“语句(只涉及c.27k行)从未完成。

实际的执行计划不是一个选项,因为我甚至无法完成这个语句。所以我得看一下估计的执行计划。

麻烦的是,我在每个语句的执行计划窗格中都有一个单独的“子窗格”。我不能注释掉前面的语句,因为它们是问题语句运行所必需的(尽管我已经注释掉了以下所有语句)。

如何才能在屏幕上查看问题陈述的计划?这显然是个大计划。所有其他语句的计划(我不感兴趣)都占用了大量的屏幕空间,因此不可能在重要的语句中滚动并找到瓶颈。但现在似乎有办法“展示这个声明的计划,并占据全屏”。

我是不是遗漏了什么?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-01-22 19:27:47

我认为在SSMS中没有办法做到这一点。

为此,您应该使用哨兵一号计划探索者。它是一个免费的工具,它提供了查看Server执行计划的另一种方法。

我已经在Stack Overflow 2010示例数据库的本地副本上运行了以下代码:

代码语言:javascript
复制
CREATE PROCEDURE #sp_TestQuery
AS
SELECT COUNT_BIG(*) FROM dbo.Users u WHERE u.Id > 10;
SELECT MAX(p.CommentCount) FROM dbo.Posts p WHERE p.Id > 1000;
SELECT MIN(v.BountyAmount) FROM dbo.Votes v WHERE v.Id > 100000;
GO

EXEC #sp_TestQuery;

运行EXEC...行会产生您在SSMS中提到的问题:

我在这里有一个选择,就是至少通过拖动不同窗格之间的边框来调整它们的大小。如果我主要想看到中间的查询:

但这还是不太理想。“计划资源管理器”中的默认视图显示顶部的语句列表,我可以单击每个语句查看下面的图形计划。以下是计划资源管理器中的中间查询:

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/257982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档