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

看 MySQL InnoDB 和 BoltDB 的事务实现

BoltDB 事务实现

BoltDB 支持多读单写方式的并发级别

事务操作会锁表

它的 MVCC 为 2 个版本,当前版本和正在写的版本

多读:可以并发读当前版本

单写(串行写):写时拷贝当前 B+ 树,构建新 B+ 树,最后原子切 meta 页

MySQL InnoDB 事务实现

MySQL InnoDB 支持多读多写方式的并发级别

MySQL 事务不会锁表,不同行记录的写操作,可以并发(某些不行,注意间隙锁)

它的 MVCC 为 N 个版本,粒度是按行可以有多个版本

多读:一致性非锁定读,不同事务隔离级别读取不同行版本数据

多写:不同行的写,可以并发

MySQL InnoDB 事务特点

MySQL InnoDB 最牛逼的地方是:

  • 多个事务,会同时修改 B+ 树
  • 对相同行的修改,才会被锁阻塞

也就是说,MySQL 忙时, B+ 树其实时刻是不一致状态

这里主要靠 undo 日志提供的 MVCC 机制,提供视图上的一致

这也是 4 种事务隔离级别产生的原因

相关文章:

  • 3.Excel:快速分析
  • 深入理解现代C++在IT行业中的核心地位与应用实践
  • 在 Windows 上安装 PowerShell 的多种方法与完整指南
  • 【设计模式】策略模式(Strategy Pattern)详解
  • 群体智能优化算法-沙丁鱼群优化算法(Salp Swarm Algorithm (SSA,含Matlab源代码)
  • C# Modbus TCP/IP学习记录
  • 【Unity网络编程知识】使用Socket实现简单UDP通讯
  • 算法 之 矩阵的对角线问题
  • Spring AI Alibaba 工具(Function Calling)使用
  • 2025.3.25总结
  • Java动态代理的使用和安全问题
  • WPS二次开发系列:以自动播放模式打开PPT文档
  • 【第五章】作业
  • MYSQL运维常用SQL
  • 中医五行学说的系统性扩展讲解
  • 计算机控制系统的最小拍控制器设计及仿真分析
  • 【区块链安全 | 第二篇】区块链概念详解
  • 鸿蒙开发:openCustomDialog关闭指定Dialog
  • Axure RP9.0 教程:左侧菜单列表导航 ( 点击父级菜单,子菜单自动收缩或展开)【响应式的菜单导航】
  • Qt在模块依靠情况下资源文件名称和资源名称的使用限制
  • 政府网站手机版建设方案/seo排名优化推广
  • php 网站/杭州seo薪资水平
  • 公司做网站需要准备什么东西/除了91还有什么关键词
  • 东莞高端品牌网站建设/网络推广方案例子
  • 高端手机网站设计/怎么创建网站的快捷方式
  • 常州网站建设公司方案/互联网营销师考试内容