啟用資料庫的讀取認可快照選項 (避免select lock)
ALTER DATABASE xxx SET READ_COMMITTED_SNAPSHOT ON
啟用資料庫的快照集隔離選項 (避免insert,update,delete lock)
ALTER DATABASE xxx SET ALLOW_SNAPSHOT_ISOLATION ON
進一步說明
啟用快照集隔離,可讀取交易啟動之前存在的資料,也就是前一個版本的資料,這會讓 insert 跟update 不至於 lock 造成 select blocking 問題,所以開啟此設定可以最大化降低 blocking,同時避免死結發生
使用 nolock 會讀取交易過程中的每次異動,但若交易取消,或最後認可的結果不是當時讀到的資料,則讀取的值就會是從未存在任一版本的 dirty data
沒有留言:
張貼留言