我们来学mysql -- delete undo log的形成

delete的undo log

题记

  • undoLog不同的格式中已经提及
  • undo log是干啥的,字面意思,就是不做
  • 此处不做扩展,就是为了回滚
  • 那么,可想而知,undo log一定能提供足够的信息去做这件事

形成过程

  • 删除阶段经历两个过程
    • 阶段1:将聚簇索引中记录的delete_flag 标识为1
    • 阶段2:删除语句所在的事务提交后 ,会有线程将记录真正删除
  • 事务提交,也就没有回滚必要
  • 所以,delete的undo log只需要考虑阶段1回滚
  • 如图
  • 不得不说,上图的信息,没有点底子,看起来真难
  • 不是说阶段1没有真正删除,如果需要回滚,将delete_flag重置不就行了
  • 说的很有道理啊!...

结尾

  • 如果大家都觉得很有道理
  • 那就应该少数服从多数,重置delete_flag即可
  • 但是,在历史的长河之中,真相又掌握在少数人手中
  • 欲知后事如何,请看下一集
相关推荐
Dxy12393102162 小时前
MySQL如何修改最大连接数
数据库·mysql
dblens 数据库管理和开发工具2 小时前
PostgreSQL物化视图详解:用空间换时间的性能优化利器
数据库·postgresql·性能优化
TDengine (老段)2 小时前
TDengine 字符串函数 REGEXP_IN_SET 用户手册
数据库·物联网·mysql·时序数据库·tdengine·涛思数据
珹洺2 小时前
Java-Spring入门指南(三十二)Android SQLite数据库实战
java·数据库·spring
2501_941111252 小时前
自动化与脚本
jvm·数据库·python
合作小小程序员小小店2 小时前
web开发,在线%小区,物业%管理系统,基于idea,html,jsp,java,ssm,mysql数据库
java·数据库·mysql·jdk·intellij-idea
m***11902 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker
小吕学编程3 小时前
MySQL分区(Partition)实战指南
数据库·mysql
墨客希3 小时前
Django 学习指南
数据库·django·sqlite