在SQL Server存储过程中打开/关闭执行计划

unr*_*boy 5 sql t-sql sql-server

在我的存储过程中,它将执行大量插入/更新查询,并调用一些嵌套存储过程。

我想禁用执行计划,绕过上述查询,然后将其打开以开始分析我感兴趣的那些查询。

例如:

...关闭执行计划

INSERT INTO FOO ...
UPDATE FOO...
EXEC usp_FOO
Run Code Online (Sandbox Code Playgroud)

...在这里打开执行计划然后我可以开始获取性能统计数据

SELECT * FROM FOO
Run Code Online (Sandbox Code Playgroud)

在SQL Server Management Studio中,我们有“包括实际执行计划”用于性能跟踪/调试,但如果查询超过100个,执行计划输出将超出并停止工作。所以我相信应该有一些像“设置执行计划关闭”之类的开关

8kb*_*8kb 1

我建议阅读使用 SQL Server 2005 Profiler 捕获执行计划。使用探查器,您可以为存储过程中运行的每个查询生成执行计划,而不必担心 SQL Server Management Studio 的输出限制。