Mysql鎖-03鎖實現之一致性非鎖定讀

原理

MVCC

類似Oracle,通過行多版本控制的方式讀取行數據,即多版本併發控制(Multi Verison Concurrency Control, MVCC),一條數據庫記錄底層實際會有多個版本記錄。

存儲

底層通過undo段事務回滾數據實現,號稱快照數據本身沒有額外開銷


用例

INNODB存儲引擎, 不同事務隔離級別讀取快照的版本是不一樣的

Mysql鎖-03鎖實現之一致性非鎖定讀

MVCC提交讀用例


Mysql鎖-03鎖實現之一致性非鎖定讀

MVCC可重複讀用例


  • 附 t表結構

CREATE TABLE `t` (

`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',

`num` bigint(20) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='t';


分享到:


相關文章: