MySQL MVCC知識點彙總

chenfeng發表於2019-01-03

1).Multi-Version Concurrency Control 多版本併發控制,MVCC 是一種併發控制的方法,一般在資料庫管理系統中,實現對資料庫的併發訪問。

2).在MVCC協議下,每個讀操作會看到一個一致性的snapshot,並且可以實現非阻塞的讀。MVCC允許資料具有多個版本,這個版本可以是時間戳或者是全域性遞增的事務ID,在同一個時間點,不同的事務看到的資料是不同的。

3).MVCC解決的問題是讀寫互相不阻塞的問題,每次更新都產生一個新的版本,讀的話可以讀歷史版本。

4).MVCC是透過儲存資料的多個版本來實現併發控制,當需要更新某條資料時,實現了MVCC的儲存系統不會立即用新資料覆蓋原始資料,而是建立該條記錄的一個新的版本。

5).MVCC是透過儲存資料在某個時間點的快照來實現的,不同儲存引擎的MVCC實現是不同的,典型的有樂觀鎖併發控制和悲觀鎖併發控制,而樂觀鎖的實現採用的就是MVCC。

6).MVCC會儲存某個時間點上的資料快照。這意味著事務可以看到一個一致的資料檢視,不管他們需要跑多久。這同時也意味著不同的事務在同一個時間點看到的同一個表的資料可能是不同的。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2295398/,如需轉載,請註明出處,否則將追究法律責任。

相關文章