MVCC的理解---多版本并发控制

 RR:可重复读               RC:读已提交      两种隔离机制

undo_log,又称回滚日志,在数据修改的时候,如果某些原因导致事务失败可以回滚,trx_id是事务编号,db_roll_ptr用来连接上一个事务,trx_id为null表示回滚到了原始的数据。

   

 

读已提交(RC)隔离机制下快照读规则: 在每次执行快照读时生成ReadView。

 

 

 根据版本链数据访问规则,事务4中第一次select查询可以读取事务1提交的数据,事务4第二次select查询可以读取事务2提交的事务,第一次读到张三,第二次读到张小三。所以读以提交隔离机制无法避免不可重复读问题。

可重复读(RR)隔离机制的快照读规则:仅在第一次快照读时生成ReadView,后续快照读复用。

 

这样就避免了不可重复读的问题。 

RR(Repeatable READ)级别 能避免幻读吗?能,但不完全能。

当在同一事务内,两次快照读之间有当前读,就会产生幻读。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值