我们来学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
相关推荐
电魂泡哥3 小时前
SQL出现filesort 一定慢吗
数据库·sql
muddjsv4 小时前
大中小型企业数据层配置规模分析与选型指南
数据库
Runawayliquor5 小时前
opbase:CANN 所有算子的公共地基
大数据·数据库·人工智能·算法
yangshicong5 小时前
第11章:结构化输出与数据提取 —— 让 AI 直接返回你想要的数据格式
数据库·人工智能·redis·python·langchain·ai编程
chimchim666 小时前
pg dblink使用查询
数据库
Java面试题总结6 小时前
java高频面试题(2026最新)
java·开发语言·jvm·数据库·spring·缓存
绝知此事7 小时前
【算法突围 02】树形结构与数据库索引:树形结构与数据库索引:从 BST 到 B+ 树的演化与 MySQL 优化
数据库·mysql·算法·面试·b+树
吴可可1238 小时前
用Teigha修改并保存CAD文件
数据库·算法·c#
yuzhiboyouye9 小时前
内连接,左连接,右连接怎么区别开来?
数据库
铭毅天下9 小时前
Easysearch 版本进化全图——从 ES 国产替代到 AI Native 搜索数据库
大数据·数据库·人工智能·elasticsearch·搜索引擎