码迷,mamicode.com
首页 > 其他好文 > 详细

事务补充(8)

时间:2020-03-30 11:14:45      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:隔离级别   更新   赋值   开始   ons   顺序   mvcc   递增   补充   

MVCC

MySQL里,有两个"视图"个概念

  1. 一个是view,它是一个用查询语句定义的虚拟表,在调用的时候执行查询语句并生成结果。
  2. 另一个是InnoDB在实现MVCC时用到的一致性读视图,即consistent read view,用于支持RCRead Committed,读提交)和RRRepeatable Read,可重复读)隔离级别的实现。

InnoDB里面每个事务有一个唯一的事务ID,叫做transaction id,它是在事务开始的时候向InnoDB的事务系统申请的,是按申请顺序严格递增的。
而每行数据也是有多个版本的。每次事务更新数据的时候,都会生成一个新的数据版本,并且把transaction id赋值给这个数据版本的事务ID,记为row trx_id。同时,旧的数据版本要保留,并且在新的数据版本中,能够有信息可以直接拿到它。也就是说,数据表中的一行记录,其实可能有多个版本(row),每个版本有自己的row trx_id

事务补充(8)

标签:隔离级别   更新   赋值   开始   ons   顺序   mvcc   递增   补充   

原文地址:https://www.cnblogs.com/jackw1/p/12597162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!