聊聊undo log
什么是undo log
undo log(回滚事务),在事务没有提交前,MySQL将记录更新操作的反向操作到undo log日志中,以便进行回退保证事务的原子性
undo log的作用
1.提供回滚操作
我们在进行数据更新操作的时候,不仅会记录redo log,还会记录undo log,如果因为某些原因导致事务回滚,那么这个时候MySQL就要执行回滚(rollback)操作,利用undo log将数据恢复到事务开始之前的状态。
在InnoDB
中MVCC
的实现是通过undo log
来完成。当用户读取一行记录时,若该记录已经被其他事务占用,当前事务可以通过undo log
读取之前的行版本信息,以此实现非锁定读取。
undo的存储结构
1.回滚段和undo页
回滚段中的数据分类
undo log的类型
详细生成过程
新增操作的undo log
不更新主键的undo log
更新主键的undo log
删除操作的undo log
purage线程的作用
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。