Mysql底层原理九:Undo log

3.6 Undo log

Undo log主要为了保证原子性,事务中的操作要么全部完成,要么什么都不做

  1. Undo log没有用 undo log buffer,Undo log是写到系统表空间的 undo段里面去的,就是说其实利用的是mysql的数据页来存放,多条undo形成单向链表,如果单个数据页放不下就放到其他数据页,undo log数据页之间通过双向链表连接
  1. undo长什么样?
    1. insert undo
复制代码
  - undo type
  - undo no
  - old roll pointer 指向前一个 undo log,形成版本链
  - trx_id  事务id
  - 主键列值,因为是insert嘛,所以undo的时候只需要根据主键id删除就行
  1. delete undo
复制代码
     - undo type
     - undo no
     - old roll pointer指向前一个 insert undo log
     - trx_id
     - 各行的数据
  1. 物理存储:undo log存放到系统表空间->undo log段-> undo log数据页, undo log像行记录一样,通过单向链表连接起来,然后叶子节点数据页的行记录用指针指向undo log
  1. 逻辑存储:第一条是行记录,然后后面都是undo log版本链
相关推荐
行业研究员8 小时前
Agent Memory降低Token消耗原理解析
数据库·人工智能·oracle·腾讯云·智能体
yixun_gdas8 小时前
企业网站内容巡查的价值与方法:企业官网的合规与形象管理
数据库·内容运营
见闻小天地8 小时前
空调机房赛莱默B&G冷冻泵/冷却泵的核心技术特性分析
大数据·运维·数据库
辛迪聊物业数字化8 小时前
物业管理系统新手部署与实操指南
数据库·物联网·架构·系统架构
March.s9 小时前
MySQL 数据库原理与实战:从数据管理到 LAMP 建站全解
数据库·mysql
字节跳动的猫9 小时前
LikeShop 种草社区模块二开:笔记发布、话题广场与商品挂载实现
数据结构·数据库
IvorySQL9 小时前
PostgreSQL 日报| PostgreSQL JDBC 安全更新(10 月 10 日)
数据库·postgresql·区块链
悟道子HD10 小时前
网络安全基本功——MySQL基础
android·mysql·web安全
晚风叙码10 小时前
MySQL 增删改查(CRUD)完全指南:从入门到面试
数据库·mysql·面试
dishugj10 小时前
HANA集群计划内切换与维护操作
java·linux·数据库