我正在運行時間(幾個小時)的過程,做插入,更新與選擇。是否有可能對使用的數據進行儘可能低的鎖定?當我的其他程序試圖對該數據進行選擇時,我認爲我在這裏遇到了一個死鎖問題。t-sql可能的死鎖解決方案
我很想在我的程序中使用select table on big table的插入/刪除/更新語句不以任何方式阻止該數據(或者至少不是用於選擇)。
會用SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
解決問題嗎?我也讀過快照,但數據庫太大而無法啓動。
'INSERT','UPDATE'和'DELETE'將** **始終鎖定獨家它們影響的行。如果您在單個事務中執行了超過5000個操作,那麼該鎖可能會**升級到表級別,從而阻止來自這些表的任何「SELECT」。嘗試小批量更新你的'UPDATE'等語句,並且如果有可能的話,當你的數據庫用得不多時... –