标签:隔离级别 更新 赋值 开始 ons 顺序 mvcc 递增 补充
MVCC
在MySQL
里,有两个"视图"个概念
view
,它是一个用查询语句定义的虚拟表,在调用的时候执行查询语句并生成结果。InnoDB
在实现MVCC
时用到的一致性读视图,即consistent read view
,用于支持RC
(Read Committed
,读提交)和RR
(Repeatable Read
,可重复读)隔离级别的实现。InnoDB
里面每个事务有一个唯一的事务ID
,叫做transaction id
,它是在事务开始的时候向InnoDB
的事务系统申请的,是按申请顺序严格递增的。
而每行数据也是有多个版本的。每次事务更新数据的时候,都会生成一个新的数据版本,并且把transaction id
赋值给这个数据版本的事务ID
,记为row trx_id
。同时,旧的数据版本要保留,并且在新的数据版本中,能够有信息可以直接拿到它。也就是说,数据表中的一行记录,其实可能有多个版本(row
),每个版本有自己的row trx_id
。
标签:隔离级别 更新 赋值 开始 ons 顺序 mvcc 递增 补充
原文地址:https://www.cnblogs.com/jackw1/p/12597162.html