我存儲的過程在每次從Web應(yīng)用程序中調(diào)用時都會瘋狂地超時。我啟動了Sql Profiler,并跟蹤了超時的調(diào)用,最后發(fā)現(xiàn)了這些東西:在MS SQL Management Studio中使用相同的參數(shù)執(zhí)行語句時(實際上,我從sql概要文件跟蹤復(fù)制了過程調(diào)用并運(yùn)行了它):平均在5到6秒內(nèi)完成。但是,當(dāng)從Web應(yīng)用程序調(diào)用時,它花費(fèi)了超過30秒的時間(在跟蹤中),因此我的網(wǎng)頁到那時實際上已超時。除了我的Web應(yīng)用程序有自己的用戶外,每件事都是相同的(相同的數(shù)據(jù)庫,連接,服務(wù)器等),我還嘗試了直接在Studio中與Web應(yīng)用程序的用戶一起運(yùn)行查詢,并且查詢不超過6個秒我如何找出正在發(fā)生的事情?我假設(shè)這與我們使用BLL> DAL層或表適配器這一事實無關(guān),因為該跡線清楚地表明延遲是在實際過程中進(jìn)行的。這就是我能想到的。我在此鏈接中發(fā)現(xiàn)EDIT,ADO.NET設(shè)置ARITHABORT為true-在大多數(shù)情況下都很好,但是有時會發(fā)生這種情況,建議的解決方法是向with recompile存儲的proc 添加選項。就我而言,它不起作用,但我懷疑它與此非常相似。任何人都知道ADO.NET還能做什么或在哪里可以找到該規(guī)范?
- 3 回答
- 0 關(guān)注
- 580 瀏覽
添加回答
舉報
0/150
提交
取消