栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Innodb 之 Undo log 作用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Innodb 之 Undo log 作用

Undo log 是 MySQL Innodb 引擎中最重要的一个组成部分,它的作用贯穿于 Innodb 两个最主要的部分:并发控制(Concurrency Control)和故障恢复(Crash Recovery)。

undo log 的作用:

    事务回滚
    undo log 记录了数据修改之前的历史值。故障发生时,为了保证原子性,恢复线程执行 undo log,将数据还原到之前的状态。MVCC 多版本并发控制(Multi-Versioin Concurrency Control)
    通常知道,并发环境下,修改数据需要加写锁,写锁和任何锁都冲突。如果不加机制,任由写锁和读锁冲突,会影响读的性能。提高并发访问能力的手段之一,就是避免只读事务和写事务之间的冲突。新的写入,新增一个版本号。为每条记录保存多份历史数据,供读事务访问。而只读事务,不需要加读锁,通过 undo log 回溯到可见的历史版本,就获得一致性读,效果等同于加了读锁。Innodb 复用了 undo log 记录的历史版本,来满足 MVCC 的需求

MySQL · 引擎特性 · 庖丁解InnoDB之UNDO LOG

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/723303.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号