YaH*_*zna 2 sql-server plan-cache trace-flags
我试图了解跟踪标志 2861 以及它对琐碎查询的实际作用?
简介说:
SQL Server 通常不会缓存这些简单查询的计划,因为缓存计划的成本高于为此类简单查询生成新计划的成本。
这显然是不正确的,因为我运行的每个“琐碎”查询似乎都被缓存了。所以我想知道 2861 的意义是什么,除非我误解了一个微不足道的计划实际上是什么。当我查询缓存计划并且它说它是临时的和微不足道的时,我没有理由怀疑它。
希望有人能给我解惑。
Pau*_*ite 11
成本是一个超载的术语,也是平凡的。
在谈论执行计划时,估计成本由查询优化器计算,作为选择一个计划或计划的一小部分而不是另一个的一种方式。最终计划具有通过将所有子树估计的操作员成本相加来计算的相关成本。一个平凡的计划是一个不经过基于成本的优化而获得的计划。
在谈论计划缓存时,会计算单独的缓存成本,该成本是计划在缓存中存活多长时间的输入(通常作为对内存压力的响应)。多年来,这种计算的细节以及被认为是“零缓存成本”(或“微不足道”)计划的内容已经发生了多次变化。有许多例外、警告和限制,它们也经常发生变化。
跟踪标志 2861 仅在很短的时间内有效。它在现代建筑中不存在。微软的 Sean Gallardy 在一篇博文中说:
这是历史上最短暂的时刻,跟踪标志 2861 确实存在的最低点。它是在 SQL Server 2000 SP3 中添加的(我目前找不到确切的内部版本号),随后在 SQL Server 2005 发布之前被删除。没错,在被删除之前,它存在于 SQL Server 2000 的大约两个服务包中。
如果您今天仍在使用这个跟踪标志,它实际上什么都不做。
您可以在以下资源中找到一些细节(据我所知,在编写它们时是正确的):
| 归档时间: |
|
| 查看次数: |
1156 次 |
| 最近记录: |