存储过程何时重新编译?(Sql Server) [英] When does a Stored Procedure recompile?(Sql Server)
本文介绍了存储过程何时重新编译?(Sql Server)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我猜,
当我在存储过程中使用临时表时,存储过程会自动重新编译.
When i use temporary table in Stored Procedure ,the stored procedure will be automatically recompiled.
请给我其他可能性.
推荐答案
- 删除并重新创建存储过程
- 在 CREATE PROCEDURE 或 EXECUTE 语句中使用 WITH RECOMPILE 子句
- 更改任何引用对象的架构
- 针对存储过程引用的表运行 sp_recompile 系统存储过程
- 恢复包含存储过程或存储过程引用的任何对象的数据库
- 从缓存中删除存储过程计划
- 如果存储过程引用的表中有足够多的行已更改,则存储过程将重新编译.SQL Server 将重新编译存储过程以确保执行计划具有表的最新统计信息.
- 如果开发人员将数据定义语言操作与数据操作语言操作交错放置,则存储过程将重新编译.这通常是在整个代码中创建和引用临时对象时引起的.
这篇关于存储过程何时重新编译?(Sql Server)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文