当前位置: 首页 > article >正文

为什么mvcc中?m_ids 列表并不等同于 min_trx_id 和 max_trx_id 之间的所有事务 ID

首先我们要明确

m_ids
表示创建 ReadView 时,系统中所有活跃(未提交)事务的事务 ID 列表。
仅包含当前未提交的事务,与事务 ID 的数值范围无关。

min_trx_id
是 m_ids 中的最小值。若 m_ids 为空,则 min_trx_id 等于 max_trx_id。
max_trx_id
是系统即将分配给下一个事务的 ID,即当前最大事务 ID + 1。

注意这个当前事务最大ID并不是ID列表的最后一个值,因为当前创建ReadView的时候,有的事务没提交,有的事务提交了
比如(1,3,5,6)没提交,他们就是m_ids。但是(2,4,7)提交了已经,最大ID是7。

所以当我们遇见了在[min_trx_id,max_trx_id)之间的事务,我们得去判断它到底在不在m_ids里面。


http://www.kler.cn/a/554455.html

相关文章:

  • 在项目中调用本地Deepseek(接入本地Deepseek)
  • jQuery UI CSS 框架 API
  • 【并发测试】Redis并发性能测试
  • Vue学习记录21
  • 求矩阵对角线元素的最大值
  • js解析后端传来的如图示的list集合,怎么获取每个map的key和value
  • spring中aop
  • LLC谐振变换器原理
  • 2026考研趋势深度解析:政策变化+高效工具指南
  • Spring Boot 实现 DeepSeek API 调用
  • mysql查看binlog日志
  • 云计算如何解决延迟问题?
  • OceanBase 初探学习历程之——安装部署
  • ctfshow web入门 web11-web24
  • 基于 Stanford CoreNLP 的中文自然语言处理
  • 推理优化技术
  • Python爬虫requests(详细)
  • rman 备份恢复1
  • 探索飞鹤奶粉奥秘,领会科技魅力
  • 11.编写前端内容|vscode链接Linux|html|css|js(C++)