MySQL的Undo-log与Redo-log的实现机制

本文详细介绍了MySQL中InnoDB存储引擎的Undo-log和Redo-log机制,包括它们的作用、如何实现事务的原子性和持久性。Undo-log用于在事务回滚时恢复数据,提供多版本并发控制;Redo-log则在事务提交前后记录最新数据,确保数据的持久化。文章还提及了Undo-log的快照读和Redo-log的落盘配置策略。
摘要由CSDN通过智能技术生成

MySQL的Undo-log与Redo-log的实现机制

​ 本文将详细介绍什么是Undo LogRedo Log

​ MySQL默认的Innodb在REPEATABLE READ隔离级别下,是如何通过MVCC + Undo Log,解决幻读的。

1. Undo Log是什么

1.1 简介

Undo Log
undo意为取消,以撤销操作为目的,返回指定某个状态的操作
undo log指事务开始之前,在操作任何数据之前,首先将需操作的数据备份到一个地方 (Undo Log)

UndoLog是为了实现事务的原子性而出现的产物

Undo Log实现事务原子性:
​ 事务处理过程中如果出现了错误或者用户执行了 ROLLBACK语句,MySQL可以利用Undo Log中的备份将数据恢复到事务开始之前的状态

Undo Log在MySQL Innodb存储引擎中用来实现多版本并发控制

Undo log实现多版本并发控制:
​ 事务未提交之前,Undo保存了未提交之前的版本数据,Undo 中的数据可作为数据旧版本快照供其他并发事务进行快照读


1.1 案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值