为什么计划缓存中包含估计的而不是实际的执行计划?


8

我可以考虑将决定的计划存储在计划缓存中而不是实际计划中这一决定背后的许多原因。但是我找不到“正确”的答案。

Answers:


12

考虑一下“实际”的含义。这是执行该计划实际发生的事情。

实际执行计划的另一个通用名称是“后执行计划”。作为与这种情况相关的真实示例,假设您打算进行越野旅行,这样就可以规划出要走的路以及要走多长时间。但由于道路工程和弯路,它不会发生喜欢你的计划。那就是实际的执行计划:到达目的地的实际路线。估计的计划应该是您认为自己会做的事情以及您认为应该采取的路线。

您无法存储后期执行计划,因为它们仅仅是....后期执行。它们包含实际发生的指标,而不是SQL Server认为应该发生的指标(估计执行计划)。

计划缓存实际上只是“地图”的存储库,可以重复使用它,而不必花费昂贵的时间来绘制新的地图。实际的执行计划是在事实之后,而计划缓存是在事实之前进行处理。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.