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';


分享到:


相關文章: