Answers:
在MSDN上找到关于该主题的最佳信息是:执行计划缓存和重用 。引用MSDN文章:
只要有足够的内存来存储执行计划,它们就会保留在过程高速缓存中。当存在内存压力时,数据库引擎将使用基于成本的方法来确定从过程高速缓存中删除哪些执行计划。为了做出基于成本的决策,数据库引擎根据以下因素增加和减少每个执行计划的当前成本变量。
存在内存压力时,数据库引擎会通过从过程高速缓存中删除执行计划进行响应。为了确定要删除的计划,数据库引擎会反复检查每个执行计划的状态,并在计划的当前成本为零时删除计划。存在内存压力时,不会自动删除当前成本为零的执行计划;仅当数据库引擎检查计划并且当前成本为零时,才将其删除。在检查执行计划时,如果查询当前未使用计划,则数据库引擎通过降低当前成本将当前成本推向零。”
最好阅读完整的文章,它有很好的记录。看到它也有一些链接。