1. 程式人生 > >關於 VS 呼叫儲存過程載入很慢和SQL 執行很快的那些事

關於 VS 呼叫儲存過程載入很慢和SQL 執行很快的那些事

執行同樣的儲存過程,呼叫同樣的引數

在VS 中呼叫儲存過程和傳參後,到資料載入需要20秒或更多,

在SQL直接呼叫則不到一秒,同一個儲存過程為什麼有這麼大的區別呢?

原因:儲存過程計劃失效的原因

產生原因:儲存過程涉及到的物件表結構發生改變或資料量發生大的變化。

解決方案1:  

  1、重啟資料庫服務

  2、執行exec sp_recompile @objname='儲存過程名稱'

 

  3、重新執行一次儲存過程

解決方案2:  

   使用 WITH RECOMPILE 每次執行都編譯儲存過程

  對於不經常使用的SQL,可以使用這種方案

  例子:

ALTER PROCEDURE [dbo].[Proc_test]
WITH RECOMPILE