DFo*_*k42 0 sql-server execution-plan sql-server-2016
我们已经在生产中遇到了几次问题,它看起来像一个存储过程获得了一个新的、糟糕的计划并开始造成严重破坏。不幸的是,在执行 dbcc freeproccache 之前,我们无法捕获之前和之后的计划以查看不良计划的情况,我们也没有设置查询存储。
我的问题是,什么会导致 sql server 为存储过程生成新计划?特别是对于一直运行的 sp。我知道的一些是:
对于 SQL 2016,这里列出了“statement_recompile_cause”可能发生的原因。
对于支持扩展事件跟踪的任何其他版本,您可以获得相同的列表。
Select
[name],
map_key,
map_value
FROM sys.dm_xe_map_values
WHERE [name] ='statement_recompile_cause'
Run Code Online (Sandbox Code Playgroud)
几个不错的参考:
归档时间: |
|
查看次数: |
137 次 |
最近记录: |