当前位置: 首页 > article >正文

简单谈谈mysql中的日志 undo log

        undo log 又名撤销日志,其主要作用可以用作事务的回滚,和对mvcc的支持。

在事务回滚中使用undo log

        当执行修改的时候,innodb会记录修改前的数据,备份到undo log 中,不同的语句有不同的记录方式

  • insert操作,会记录插入记录的主键id。
  • delete操作,会记录删除记录的所有内容。
  • update操作,会记录修改列的旧值。

        当事务发生回滚的时候,innodb会使用该信息进行回滚。

在mvcc中如何使用undo log

        在undo log中,有个隐藏列roll_pointer,指向的是上一个对该记录进行操作的undo log 记录id。

        同时,在undo log 中还记录了操作的事务id。

        通过roll_pointer,可以生成一个undo log 操作的版本链。

        因此,事务可以通过该版本链和 read view 读试图规则,找到对事务可见的undo log记录,并且恢复出当时的数据。

mvcc过程可见:简单说说mysql的mvcc-CSDN博客


http://www.kler.cn/news/356600.html

相关文章:

  • 【原创】java+springboot+mysql在线课程学习网设计与实现
  • Python ORM:让数据库操作变得优雅
  • C++:stl_stackqueue模拟实现
  • redhat系列的yum源配置
  • 2.1.ReactOS系统中中断描述符表进行初始化
  • 执行php artisan storage:link报错
  • 3DsMax删除FBX 导出的预设
  • android openGL ES详解——混合
  • 用SpringBoot给Servlet容器Tomcat打war包步骤
  • react的state是一张快照
  • java项目篇-用户脱敏展示
  • Redis两种持久化方式
  • Javaweb基础-vue
  • QT开发:深入掌握 QtGui 和 QtWidgets 布局管理:QVBoxLayout、QHBoxLayout 和 QGridLayout 的高级应用
  • list和vector的区别
  • 【2024最新版】网络安全学习路线-适合入门小白
  • python 作业1
  • PyTorch 的 DataLoader 类介绍
  • freertos的任务管理
  • python将视频转为gif