我们来学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
相关推荐
m0_493934532 分钟前
如何在phpMyAdmin中导出包含虚拟生成列的表_GENERATED ALWAYS的处理
jvm·数据库·python
slandarer3 分钟前
MATLAB | R2026a 更新了哪些有趣的新东西?
开发语言·数据库·matlab
希望永不加班6 分钟前
SpringBoot 中 AOP 实现多数据源切换
java·数据库·spring boot·后端·spring
qq_206901397 分钟前
如何在 React 中正确使用 onClick 事件避免类型错误
jvm·数据库·python
2401_8716965210 分钟前
如何防止SQL注入利用存储过程_确保存储过程不拼字符串
jvm·数据库·python
2301_7965885011 分钟前
如何在 macOS 中使用 launchd 每分钟执行一次 PHP 脚本
jvm·数据库·python
m0_7489203612 分钟前
HTML函数在笔记本上卡顿怎么办_笔记本运行HTML函数优化操作【操作】
jvm·数据库·python
2601_9498146916 分钟前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
WJB-DavidWang16 分钟前
MongoDB-非关系型数据库-文档数据库(三) Kafka测试MongoDB性能
数据库·mongodb·nosql
m0_6784854519 分钟前
c++如何提取系统环境变量并直接保存到txt日志中_getenv与ofstream【实战】
jvm·数据库·python