为了账号安全,请及时绑定邮箱和手机立即绑定

在innodb的读未提交的隔离级别下,mvcc的行为?

在innodb的读未提交的隔离级别下,mvcc的行为?

30秒到达战场 2018-07-17 14:06:37
注意我们现在的隔离级别是读未提交,即最低的隔离级别。这种级别下会出现脏读,A事务修改了一行数据,但在未提交的情况下,这一行数据被A事务以外的行为,简称为F,这个F可能是B事务,也或者是简单的非事务类型的select,给读取了,然后A事务进行了回滚,则F读到的是脏数据。现在看来一切都很通畅。但是我有一点疑惑,我们知道,innodb下简单的select都是快照读(MVCC提供),那么上面F所做的应该也是快照读,难道当A事务修改完那一行数据之后就立刻进行了快照?否则F怎么会读到A事务对那一行修改完的那个版本呢?应该是F读到A对那一行修改前的版本吧?多问一句,innodb只要在那一行数据的锁被释放之后就会进行快照?快照是如何被触发的?
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 903 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信