我有一個SQL作業,它處理一系列請求。它更新Table1。這是一個漫長的過程,需要15分鐘。SQL鎖定 - 超時問題
與此同時,我的應用程序嘗試從Table1中讀取記錄並將它們顯示在網格中。相應的get proc已將tran隔離級別設爲read uncommited。 當SQL作業正在運行時,我的應用程序在填充網格時總是超時。如果SQL作業未運行,則可以正常工作。
我的過程有適當的隔離級別,所以我不明白它爲什麼仍然超時。 想法?
這裏是我的GET PROC看起來像:
CREATE PROCEDURE dbo.MyGetProc(...)
AS BEGIN SET事務隔離級別讀取未提交; SET NOCOUNT ON;
SELECT
...
FROM
(
SELECT
...
FROM
dbo.Table1
LEFT JOIN dbo.OtherTable1
WHERE ...
GROUP BY
...
) X
INNER JOIN dbo.OtherTable2
LEFT JOIN dbo.OtherTable3
LEFT JOIN dbo.OtherTable4
LEFT JOIN dbo.OtherTable5
LEFT JOIN dbo.OtherTable6
LEFT JOIN dbo.OtherTable6
ORDER BY
...
END
你能發佈一段代碼超時嗎?這樣你會得到更強的答案。 – 2014-10-01 15:36:20
我在原始線程中添加了proc代碼片段 – GreenBinary 2014-10-01 15:46:31