赞
踩
回滚日志
,在insert、update、delete的时候产生的便于数据回滚的日志。- 当
insert
的时候,产生的undo log日志只在回滚
时需要,在事务提交后,可被立即删除。- 而
update、delete
的时候,产生的undo log日志不仅在回滚
时需要,在快照读
时也需要,不会立即被删除。
DB_TRX_ID
:代表最近修改事务ID
,记录插入这条记录或最后一次修改该记录的事务ID,是自增
的。DB_ROLL_PTR
:由于这条数据是才插入的,没有被更新
过,所以该字段值为null。
当事务2
执行第一条修改语句时,会记录undo log日志
,记录数据变更之前的样子; 然后更新记录,并且记录本次操作的事务ID
,回滚指针,回滚指针
用来指定如果发生回滚,回滚到哪一个版本。
当事务3
执行第一条修改语句时,也会记录undo log日志
,记录数据变更之前的样子; 然后更新记录,并且记录本次操作的事务ID
,回滚指针,回滚指针
用来指定如果发生回滚,回滚到哪一个版本。
当事务4
执行第一条修改语句时,也会记录undo log日志
,记录数据变更之前的样子; 然后更新记录,并且记录本次操作的事务ID
,回滚指针,回滚指针
用来指定如果发生回滚,回滚到哪一个版本。
最终我们发现,
不同事务
或相同事务
对同一条记录
进行修改,会导致该记录的undolog生成一条记录版本链表
,链表的头
部是最新的旧
记录,链表尾
部是最早的旧
记录。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。