MySQL总结-无锁读MVCC

目录

目标

名词解释

作用范围

快照读

选快照

不同隔离级别的表现


目标

对mysql的学习总结,我会从执行引擎、索引、sql、锁、MVCC、事务等几个部分进行阐述。本节阐述MVCC。

名词解释

multi-version-concurrency-control 多版本并发控制

作用范围

针对重复读和读提交两个隔离级别的select生效

快照读

snapshot read

选快照

记录A已加事务1的排他锁,当其它事务2通过select读记录A时,事务2直接读取记录A的undo log里最近提交的版本的数据

当数据修改后会产生一个快照,其版本可以理解为是事务ID,所以选择快照的方式为"快照的版本号小于当前事务ID,且距离当前事务ID最近"。

不同隔离级别的表现

很重要,很多文章只是片面的讲解重复读的表现。

重复读

同一事务中多次读,以第一次读时所选择的快照为准,所以解决不可重复读问题。

读提交

一个事务中多次读则每次读都会重新获取最新版本,所以仍可能出现不可重复读问题。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值