MySQL并发问题区别-MVCC如何解决的

脏读

事务a,事务b,b读到了a刚修改未提交的数据

不可重复读

针对同一行记录,两次读到的结果不一致

(范围是一行)

幻读

范围比不可重复读大很多,是表的范围,事务a第一次查的时候不存在,后面事务b插入提交,事务a第二次查的时候又发现多了数据,仿佛存在幻影

脏读是什么措施都没有,MVCC解决的主要是RC和RR

RC是读已提交,每次查询新建一个ReadView,通过MVCC规则确定访问数据的历史版本

RR是可重复读,只有事务第一次Select才会新建ReadView,后续查询除非是本事务修改或者显式当前读(Select * From 。。for Update/delete/insert),否则查询结果直接复用前面的ReadView,直接返回旧的读取结果。

MVCC本质上是无锁实现,乐观锁思想,提高了并发能力,比锁的效率要高很多

相关推荐
好好学习的星熊1 小时前
SQL 面试题(数据分析师)
sql·mysql
破土士V1 小时前
MySQL基础知识集合
数据库·mysql
360智汇云3 小时前
MySQL-DTS数据同步工具:告别手动拼方案,迁移同步一站完成
数据库·mysql
宠友信息5 小时前
内容社区源码开发实践解析,用Spring Boot打造1:1仿小红书源码平台
java·spring boot·redis·websocket·mysql·spring·uni-app
λqaq76 小时前
MySQL 数据库基础(2)约束、用户权限、远程连接、外键与 TCP/UDP 理解
linux·数据库·python·tcp/ip·mysql
叫我:松哥8 小时前
基于flask图书数据管理系统,技术栈flask+MySQL+boostrap
python·mysql·flask
PHP实战开发录8 小时前
企业微信客户标签同步冲突排查记录
mysql·系统安全·php·企业微信·开发
又是重名了9 小时前
集团项目信创改造3 mysql to dm 插入获取主键
数据库·mysql·dameng
人机(未转人工)10 小时前
Flask + MySQL + Ollama(DeepSeek) 漏洞资产库 的网络安全资产分析平台的templates中(chat.html)渲染文件
mysql·flask·html
词却10 小时前
数据库基础:MySQL 安装与基础操作
数据库·mysql