Below you will find pages that utilize the taxonomy term “mvcc”
September 18, 2018
MySQL中对MVCC的理解总结
"一、MVCC简介 MVCC (Multiversion Concurrency Control),即多版本并发控制技术。InnoDB数据库的事务隔离级别就是通过UNDO和MVCC来实现的(ACID特性),旧数据存储在UNDO中,再通过DB_ROLL_PTR 回溯查找历史版本。\n二、MVCC原理 1、通过DB_ROLL_PT 回溯查找数据历史版本2、通过read view判断行记录是否可见\n理解这一块之前,我们必须先了解一下row的内部存储格式\n字段\u0008说明:\nDB_ROW_ID:长度6个字节。此值由InnoDB自动生成,聚集索引时使用。如果用户未显式指定表主键时,\u001b表优先使用第一个非null的唯一索引作为主键.否则使用DB_ROW_ID的值作为主键ID,聚集索引会使用此值。如果指定了表主键的话,则聚集索引使用指定的值。 DB_TRX_ID:6个字节的事务ID。标记了最后更新此记录的事务ID,每开起一个新事务,其值自动+1 DB_ROLL_PTR:7字节的回滚指针。指向当前记录项的undo log记录,找之前版本的数据需通过此指针。 MySQL中的MVCC原理\n首次 insert 记录 …"