C#調用存儲過程執行緩慢,但在數據庫中執行卻很快的問題

參考: html

http://www.debugease.com/mssqlbasic/976568.htmlsql

https://www.cnblogs.com/Irving/p/3951220.htmldebug

http://www.sommarskog.se/query-plan-mysteries.htmlhtm

https://stackoverflow.com/questions/10933366/sp-executesql-is-slow-with-parametersblog

通常是sql預編譯的問題,發現後臺調用了兩次存儲過程,一次時間參數爲null,一次時間參數不爲null,懷疑是用了前一次的執行計劃。索引

在存儲過程添加WITH RECOMPILE ,問題得以解決。it

後面db去掉WITH RECOMPILE,在臨時表上加上索引,問題也一樣解決了io

後面問題又出現了,刪除存儲過程後從新建立存儲過程,又能夠了編譯

 

具體緣由待查後臺