我们来学mysql -- ReadView工作原理

ReadView

题记

  • undo log中提到delete的版本链
  • 同时在delete删除数据中,对真实删除记录后,不会找不到版本链溯源起点,做了说明
  • 虽然不在计划内,但也可将readview请出面见大家了

何时创建

  • 可重复读隔离级别中
  • 仅在事务中第一次 执行SELECT语句时生成一次ReadView
  • 在整个事务期间复用

结构

  • 是事务进行快照读时生成的一致性视图

如何使用

  • 关注活跃事务[20,25,30]
  • 抓住活跃事务更新删除 的记录是未提交
  • 那么使用条件再次读 时,读取到页面中的记录1
  • 检查到记录1trx_id 不等于当前事务的Id
  • 就开始基于版本链查找
  • 所以只要记录1undo logtrx_id 的值在活跃事务集合中
  • 那么就不是要读取的快照
  • 那何时是个头
  • 只要找到undo logtrx_id 小于当前事务id ,便是最终的记录1?
  • 当前不是,你得执行一种计算方式,就是undo log回滚那套规则
  • 记录1 回滚到此处,得到那时 ,当然就是初次认识记录1
相关推荐
蜘蛛小助理14 分钟前
研发团队效率神器:手把手教你用蜘蛛表格构建自动化任务管理中枢
数据库·自动化·任务管理·多维表格·蜘蛛表格
计算机毕设VX:Fegn089524 分钟前
计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Hui Baby27 分钟前
全局事务入口感知子事务方法-TCC
java·开发语言·数据库
Leon-Ning Liu41 分钟前
Oracle 19c RAC报错ORA-17503,ORA-27300,ORA-27301,ORA-27302
数据库·oracle
嘟嘟w1 小时前
DROP DELETE 和TRUNCATE的区别?
数据库·mysql·oracle
Navicat中国1 小时前
Navicat x 达梦技术指引 | 数据字典
数据库·达梦·可视化·navicat·数据字典
running up2 小时前
Spring核心深度解析:AOP与事务管理(TX)全指南
java·数据库·spring
一水鉴天2 小时前
整体设计 定稿 之6 完整设计文档讨论及定稿 之1(豆包周助手)
java·前端·数据库
倔强的石头_2 小时前
金仓数据库(KingbaseES) 开发实战:常见迁移挑战与技术解析
数据库
编程小白gogogo2 小时前
苍穹外卖后端环境搭建-数据库环境搭建
数据库