我有通過SSMS阿5秒SP擊中30秒的超時通過LINQ到SQL
當該相同SP通過執行在5秒內,其執行SP一個LINQ到SQL Excel加載它倍(對同一個SP的簡單查詢需要很長時間但返回結果)
然後我更改了SP,以便它將所有輸入參數重新分配給SP中的新本地參數。這使得SP在SSMS中運行了36秒(所以這就是爲什麼SSMS起步非常快的原因)
所以我猜測SQL服務器沒有使用參數嗅探來檢測我的LINQ- SQL查詢?
所以,我的問題是,有什麼辦法,使SP的速度在LINQ到SQL,因爲它是在SSMS(與它的參數嗅探)
我想你已經看了很明顯的東西像確保您的LINQ到SQL是指向正確的服務器,並且您正在SSMS和LINQ中測試相同的參數......當您的proc運行時,當您運行sp_who2時,您對spid有什麼看法?它被阻止了嗎? –
我會使用分析器並檢查兩種情況下的執行計劃(SSMS和Linq2SQL),也許你能夠找到差異。如果在兩種情況下參數都是相同的,則不應該有差別。如果參數不同,SQLServer可能會有一個錯誤的執行計劃。但沒有進一步的細節,很難說。 –