4
我很困惑。我正在閱讀有關Oracle中的MVCC。我認爲MVCC意味着沒有鎖。但是,我讀到其他地方,無論隔離級別如何,所有UPDATE
都會自動鎖定。有人可以解釋Oracle更新期間會發生什麼嗎?當多個讀提交事務嘗試執行併發時會發生什麼update t set c = c + 1 where id = 3
。結果是什麼,在任一交易之前給定c = 1,以及鎖和SCN發生了什麼?Oracle中的併發更新:是否鎖定?
Begin T1
Begin T2
T1: update t set c = c + 1 where id = 3
T2: update t set c = c + 1 where id = 3
Commit T1
Commit T2
謝謝。所以,MVCC意味着這個鎖不會影響讀取,但是,對嗎?只是其他寫入同一記錄,其中id = 3? –
@RonGarrity是。 Oracle可以使用撤銷日誌爲連接到它的所有會話提供數據庫的讀取一致視圖。 – NullUserException