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

mysql:MVCC机制

MVCC机制

MVCC机制主要是mysql的多版本并发控制的一个机制,它主要是允许mysql去保存同一时间对同一份数据的不同历史版本的,从而避免读写之间的锁竞争,从而去提高并发的性能。
像传统的锁机制(读写互斥锁(Read-Write Lock)),读操作需要等到写操作完成之后嘛,写操作也要等到读完成之后,所以会存在锁的竞争,相应就不是很快。但是一致性很强。
MVCC的话就可以通过牺牲一时的一致性,去提升它的高并发性能。它适合于那种读多写少,高并发的场景。

它会去维护三个隐藏的字段,一个是最近修改的事务ID,一个是指向旧版本的指针,一个是自增的行ID。这样当某行数据修改的时候,我们并不是直接覆盖掉原数据,而是生成一个版本链。

当每个事务启动时会获取当前未提交的事务 ID 集合,然后去判断版本的可见性。

当然它也是有局限性的,譬如不能完全解决幻读问题,当版本链过长的时候也会影响查询性能,而且存储版本需要额外的空间等等。

http://www.dtcms.com/a/212779.html

相关文章:

  • leetcode 39. Combination Sum和40. Combination Sum II
  • 人工智能100问☞第32问:什么是迁移学习?
  • 机器学习课程设计报告 —— 基于口红数据集的情感分析
  • 【免杀】C2免杀技术(九)DLL注入前置篇
  • 事务操作语句
  • 美团2025年校招笔试真题手撕教程(三)
  • [Linux]磁盘分区及swap交换空间
  • React整合【ECharts】教程002:折线图的构建和基本设置
  • 疫情社区管理登记系统
  • 基于TypeScript的全栈待办事项应用Demo
  • binlog解析工具——binlog2sql
  • 机械师安装ubantu双系统:二、磁盘分区
  • 【MPC控制 - 从ACC到自动驾驶】5. 融会贯通:MPC在ACC中的优势总结与知识体系构建
  • 浏览器游戏的次世代革命:WebAssembly 3.0 实战指南
  • 人脑能够通过视频信息快速建模出现实场景,原因有哪些方面?
  • 人工智能数学基础实验(一):智能推荐系统实战
  • CA自签名证书创建--证书链生成脚本
  • 强化学习在大模型中的应用详解
  • 分几个好用的系统提示词
  • FreeRTOS--信号量
  • EPD_2IN7_V2_Clear() 和 Paint_Clear(WHITE) 的区别
  • CV中常用Backbone-3:Clip/SAM原理以及代码操作
  • # 使用 Hugging Face Transformers 和 PyTorch 实现信息抽取
  • 小土堆pytorch--神经网络搭建小实战Sequential的使用
  • 机器学习算法-一元线性回归(最小二乘拟合 and 梯度下降)
  • java三种常见设计模式,工厂、策略、责任链
  • OWASP Juice-Shop靶场(⭐⭐)
  • aws(学习笔记第四十二课) serverless-backend
  • 2025年5月系分论文题(回忆版)
  • 为什么size_t重要,size_t的大小