存储过程的重编译处理

    技术2026-06-06  4

    有3种方法可以重新编译

    1. 在床架存储过程是使用WITH RECOMPILE子句

    WITH RECOMPILE 子句可以指示SQL Server2005 不将该存储过程的查询计划保存在缓存中,而是在每次运行时重新编译和优化,并创建新的查询计划。

    USE book

    GO

    CREATE PROCEDURE p_book1p

    @出版社 VARCHAR(20)

    WITH RECOMPILE

    AS

    SELECT * FROM book1 WHERE 出版社= @出版社

    这种方法并不常用,因为在每次执行存储过程时都要重新编译,在整体上降低了存存储过程的执行速度,除非存储过程本省市一个比较复杂、耗时的操作。

     

    2. 在执行存储过程时设定重新编译选项

    通过在执行存储过程时设定重新编译,可以让SQL Server2005 在执行存储过程是重新编译该存储过程,在这一次执行后,心的查询计划又被保存在缓存中。

    EXEC procedure_name WITH RECOMPILE

     

    3. 通过系统存储过程设定重新编译选项

    EXEC sp_recompile OBJECT

    其中,OBJECT 当前数据库中的存储名称,表活试图名称。

    例: EXEC sp_recompile book

    最新回复(0)