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

mysql:MVCC机制

MVCC机制

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

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

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

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

相关文章:

  • 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--信号量
  • 页面设计草图/seo搜索引擎优化工资薪酬
  • 如何做flash游戏下载网站/百度风云榜明星
  • 婚纱摄影网站seo方案/软文网
  • 做网站什么都不懂 怎么做/域名排名查询
  • 网站建设专家公司排行/百度网页版怎么切换
  • 青岛建设大学招聘信息网站/网络推广岗位职责和任职要求