首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL server中重新启动后执行计划行为

问在SQL server中重新启动后执行计划行为
EN

Database Administration用户
提问于 2017-05-08 13:43:50
回答 1查看 2.3K关注 0票数 4

在重新启动服务之后,我一直在考虑执行计划在SQL SERVER中的作用。我知道,在缓存内存中的每个查询执行中,都存在一个进程来解析、编译和优化所请求的查询,并应用SQL中基于统计信息和其他参数的执行计划。所有这些执行计划都存储在存储引擎中的缓冲池区域。实际上,每次执行之后,这些计划都会被更新,让SQL服务器了解新的改进。

下面是我的疑问:每次我决定重新启动SQL服务时,缓存内存中的执行计划会发生什么?缓冲池区域中的所有改进都被存储和重新加载,以便在新的执行中可用?所有执行计划都在重新启动之前作为最后一个版本重新加载,或者SQL需要创建新的执行计划库才能继续改进执行吗?

拜托,伙计们,如果你们能解释我的行为我会很感激的。非常感谢

EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-05-08 14:00:15

这就是重新启动Server时发生的情况。正确的术语将Server必须创建新的执行计划,选择“相当好的执行计划”并将其保存在缓存中以进行重用。

或者,SQL需要创建新的执行计划库才能继续改进执行吗?

你在问题中对执行计划有一些误解。

计划在每次执行后都不会更新。Server跟踪计划被使用的时间、最后一次使用的时间以及很少的其他指标。如果您有内存压力,则使用使用度量来决定需要删除哪些计划来释放内存。

实际上,每次执行之后,都会更新这些计划,让SQL了解新的改进。

您可以手动从缓存中删除计划,详细信息这里。

SQL (2017)宣布了一些改进,可以动态地调整/修改查询计划,称为。您可以观看由Microsoft .这里制作的视频,并阅读这里。

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

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

复制
相关文章

相似问题

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