执行计划何时会被重新生成


摘要:
下文讲述执行计划被重新生成的场景



执行计划简介

执行计划:告诉服务器如何去执行这条sql脚本。
db服务器收到一条sql脚本,需要做一个动作,就是找到正确的执行方法,这个方法我们称之为“执行计划”。
————————————————-
计算机会对sql脚本进行分析,告诉sql脚本应该遍历表,还是试用索引查找表 还是连接表,
然后对输出结果集,进行如何计算呢,等等一系列操作,
我们这些形成的操作方式称之为“执行计划”
——————————————
执行计划:db服务器所形成的执行计划是db服务器认为最优的操作sql的方法。



执行计划重新生成的条件

随着数据库中的数据库或其它更改,以前的执行计划,已经不适用当前的数据库了,下文将讲述“执行计划”被重新生成的条件:
1 .执行计划所涉及的索引发生任何变化时(索引重编译 索引碎片处理 索引重建 索引删除等)
2 .执行计划所涉及的统计信息发生变化时
3 .执行计划所涉及的存储过程被重编译
4 .对表或视图进行修改操作
5 .对视图进行重建操作
6 .表内行数发生大变化时(统计信息也会发生变化)
7 .对表进行大量的insert update delete 操作时
8 .db服务器内存严重不足时,导致执行计划缓存自动消失