MSSQL存储过程-重新编译简介

MSSQL在数据库启动后第一次运行存储过程,会将存储过程编译后并放入数据库缓存中。

当存储过程,所涉及的对象,进行索引添加 索引更新 表结构发生变化等架构发生变化时,
存储过程会进行自动重编译操作。

下文将讲述手动对存储过程进行重编译的方法:


1 采用sp_recompile 命令对存储过程进行强制重编译

  exec sp_recompile '存储过程名'  --指定存储过程 下次运行时,进行重编译
  exec sp_recompile '表名'           --指定表名相应的存储过程,进行重编译  
  


2 对存储过程中指定语句,每次运行时,都进行重编译操作

create proc [存储过程名称] 
***
as 
begin
select [列名1],[列名2],[列名3],[列名4] from [表名]  option(recompile)
end


3 对存储过程中指定语句,每次运行时,都进行重编译操作

create proc [存储过程名称] 
***
with recompile 
as 
begin
select [列名1],[列名2],[列名3],[列名4] from [表名](no lock)
end