灌水唠嗑区
技术分享
问答
事务回滚的原理是什么?
发表于2026-04-22 11:17:5093次浏览7个评论
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:
【操作系统】:
【CPU】:
【问题描述】*:事务回滚的原理是什么?
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:
【操作系统】:
【CPU】:
【问题描述】*:事务回滚的原理是什么?
事务回滚本质:靠 Undo Log(撤销日志),把事务执行过的所有修改,原样恢复到执行前的状态。
二、底层原理流程
事务开始执行增删改之前,数据库先把修改前的旧数据记录到 Undo Log(回滚日志) 里。
执行 DML 操作真正修改内存 / 磁盘数据,但不直接落盘提交。
两种结局
正常提交(commit):事务结束,清空 Undo 日志,修改正式生效。
异常 / 手动回滚(rollback):数据库读取 Undo Log 里保存的旧数据,把已经改动的数据还原回去,就像从没操作过一样。
三、关键知识点
1.Undo Log 作用
保存修改前的原始数据快照
回滚时反向复原:增→删、删→恢复、改→改回原值
2. 和 Redo Log 的区别
Undo Log:用来回滚、保证原子性
Redo Log:用来崩溃恢复、保证持久性
3. 四大特性关联(ACID)
回滚直接保障 原子性:一个事务要么全部成功,要么全部撤销,不会只做一半。