我的前任经理可能误导我应该删除商店程序然后重新创建它而不是仅仅改变,因为这可以确保它不被缓存。这有什么道理吗?
答案 0 :(得分:1)
您不必丢弃并重新创建它,您可以安全地更改SP。您还可以运行sp_recompile
以强制SQL Server重新编译SP,并sp_refreshsqlmodule
更新其元数据。
SQL Server会在执行此操作时自动重新编译触发器,视图和SP。)
删除和重新创建对象的副作用:
答案 1 :(得分:0)
执行存储过程时,它将始终运行查询,因此不会缓存查询结果,但会缓存执行计划和索引。因此,删除存储过程并重新创建它而不是缓存它是有意义的。因此,当您更改存储过程时,可能会弃用编译查询所带来的所有优化,但更改后的存储过程应该产生您期望的结果,前提是您在更改它时没有出错。