我们来学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
相关推荐
angushine2 小时前
解决MySQL慢日志输出问题
android·数据库·mysql
合作小小程序员小小店2 小时前
网页开发,在线%旧版本旅游管理%系统,基于eclipse,html,css,jquery,servlet,jsp,mysql数据库
java·数据库·servlet·eclipse·jdk·旅游·jsp
core5122 小时前
不借助框架实现Text2SQL
sql·mysql·ai·大模型·qwen·text2sql
q***46522 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
2501_941803622 小时前
互联网技术的未来趋势与发展方向:AI、5G与云计算的深度融合
mysql
腾讯云数据库2 小时前
「腾讯云 NoSQL 技术」之 Redis 篇|揭晓腾讯云Redis水平扩缩容极致流畅背后的技术玄机
数据库
SelectDB3 小时前
压缩率提升 48%,详解 Apache Doris 存储压缩优化之道|Deep Dive
数据库·开源·github
DBA圈小圈3 小时前
【KingbaseES】批量修改数据库模式、表等对象的 Owner
数据库·oracle
椰羊~王小美4 小时前
存储过程 vs 存储函数:全面对比
数据库