2010-11-25 93 views
1

我遇到一個奇怪的問題,當執行一個查詢時返回一個較小的數據集(並且運行速度比執行相同的查詢並讓它返回一個更大的數據集(以及運行時有時會更高)。「更快」查詢的SQL超時錯誤

超時已過期。操作完成之前超時的時間或服務器沒有響應。

我正在將一組選項傳遞給sproc。當這組選項不包括會觸發更多表連接和更大結果集的選項時,會引發上述異常。我以前通過增加連接字符串中的Connection Timeout屬性解決了這個問題,但似乎並非如此。

有誰知道我該如何解決這個問題?我已經通過SQL分析器並使用更小和更大的輸入來運行查詢,並且結果如預期。使用較小的輸入時,查詢運行速度明顯加快(但在客戶端上超時),查詢運行速度較慢(但會將結果返回給客戶端)。

回答

0

只是性能上來看,與(NOLOCK)添加與每個查詢,以儘量減少死鎖的機會(我假設有死鎖的機會)

+0

我敢肯定,指令已經在那裏了。這很奇怪,因爲在SQL Management Studio中超時的查詢比不超時的查詢運行得更快。 – illvm 2010-11-29 20:05:47