原文:【原】SQL存儲過程調用慢,但是重新編譯一下存儲過程就很快

.NET調用存儲過程時,有時候會變的很慢甚至會timeout,但是再執行一下存儲過程,再調用就會很快。 解決辦法: . 在可能比較耗時的語句后面加上option recompile . 創建存儲過程時在其定義中指定 WITH RECOMPILE 選項,表明 SQL Server 將不對該存儲過程計划進行高速緩存 該存儲過程將在每次執行時都重新編譯。當存儲過程的參數值在各次執行間都有較大差異,導致每 ...

2012-07-30 11:41 1 3206 推薦指數:

查看詳情

使用存儲過程非常,但是直接執行SQL很快

使用存儲過程非常,但是直接執行SQL很快。 了解基本情況后,初步判斷是參數嗅探問題 在對應的SQL語句后面使用 OPTION(OPTIMIZE FOR UNKNOWN) 參考了 http://www.cnblogs.com/kerrycode/p ...

Wed Jan 23 21:45:00 CST 2019 0 975
導致存儲過程重新編譯的原因

  存儲過程包含一組復雜的SQL語句,使生成存儲過程的執行計划的代價有些高。因此通常重用存儲過程的執行計划來代替生成新計划是有利的。但是有時候現有的計划可能不適用或者在重用期間可能不能提供最佳的處理策略。SQL Server重編譯存儲過程中的語句來生成一個新的執行計划以解決這個問題。 1、產生存儲過程 ...

Sun Oct 16 17:06:00 CST 2016 0 2680
Oracle 重新編譯存儲過程/函數等

第一種 如果你使用 PL/SQL Developer工具 左側工具欄中選擇“存儲過程”-》選擇已經失效的procedure-》右鍵-》選擇重新編譯 即可完成 第二種 命令行版 1.查找到無效對象 select 'Alter '||object_type ...

Tue Aug 13 19:54:00 CST 2019 0 1642
SQL Server 重新編譯存儲過程的方式有三種

SQL Server 中,強制重新編譯存儲過程的方式有三種: sp_recompile 系統存儲過程強制在下次執行存儲過程時對其重新編譯。具體方法是:從過程緩存中刪除現有計划,強制在下次運行該過程時創建新計划。 創建存儲過程時在其定義中指定 WITH RECOMPILE 選項 ...

Fri Oct 25 17:55:00 CST 2013 0 5143
SQL 調用存儲過程

--1調用存儲過程 exec 存儲過程名 參數 --2當表使用 select a.*,b.* from tb b inner join ( select * from openrowset( 'sqloledb ...

Thu Jun 22 19:30:00 CST 2017 0 1652
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM