一文了解MVCC——解锁数据库并发控制的“魔法钥匙”

MVCC概念

MVCC全称叫做Multiversion Concurrency Control,多版本并发控制。MVCC的出现主要是为了提升数据库并发性能,用较好的方式处理事务并发的读写冲突,避免了加锁操作,降低性能开销,在有读写冲突时,能够做到非阻塞并发读。

  • MVCC可以通过乐观锁的方式,在可重复读隔离级别下来解决不可重复读和幻读的问题。

MVCC原理

在MVCC机制中,多个事务对同一条记录做修改,会产生多个历史快照,这些历史快照保存在undo log里,当一个事务对该记录进行查询时,MVCC会通过ReadView解决行的可见性问题。

ReadView是事务在使用MVCC机制进行快照读时产生的读视图。

ReadView

ReadView字段说明:

字段 字段说明
creator_trx_id 创建这个 Read View 的事务 ID
trx_ids 生成ReadView时当前系统中活跃的 事务id列表
up_limit_id 活跃的事务中最小的事务 ID
low_limit_id 系统最大的事务ID值(注意,不是活跃事务中的最大值)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值