5
我有搜索存儲過程,這是我的性能瓶頸。從C#調用的存儲過程比SQL Management Studio執行時間長6倍
爲了控制發生的事情,我在SP中添加了所有參數的記錄以及執行時間。
我注意到,當我叫SP從Microsoft SQL Server Management Studio中執行時間爲1.3-1.6秒,但是當我從C#調用它,它需要6-8 secods(!!!)
Parameters | Time (ms)
"tb *"TreeType:259Parents:212fL:13;14fV:0;lcid:2057min:0max:10sort:-1 | 6406
"tb *"TreeType:259Parents:212fL:13;14fV:0;lcid:2057min:0max:10sort:-1 | 1346
用LINQ調用SP。登錄設置相同。 SP使用全文搜索
這是什麼原因造成的?
我不確定關於Microsoft SQL緩存系統。嘗試從管理工作室運行存儲過程,然後從C#運行。將結果與當前不同? – Anton 2010-12-11 21:54:01
@Anton:我可以得到相同的結果,而不取決於呼叫次序。實際上,這個列表是按id desc排序的,所以最新的請求是最後一個。 – st78 2010-12-11 22:02:13
您是否嘗試過使用'SqlCommand'而不是LINQ?您可以額外使用'Prepare'方法。你使用本地SQL Server嗎?什麼數據返回存儲過程? – Oleg 2010-12-12 00:41:13