Mysql MVVC

Mysql MVVC

MVVC就是用管理快照实现多版本并发控制吗,保证了数据库的隔离性。

读已提交 如何保证数据的隔离型

当我们开始一个事物的时候我们就会创建一个快照, 每一个快照都有一个时间戳作为标记,如果我们已经修改了数据但是还没有提交那么快照的状态就是已修改未提交,如果已经修改提交状态就是已修改已提交,然后当有事物查询的时候就会去找最新版本的快照通过时间戳判断。

可重复读

首先事物开启的时候首先会开启一个私有快照,然后事物提交了,再把修改的操作同步到最新的共有快照。

快照清理

当隔离界别是可重复度repeatable read那么就事物提交了会清理自己的私有快照。

mysql会定期清理我们的old 快照,具体多长时间清理一次? 这个mysql会通过我们的服务器性能来判断

相关推荐
编程小Y14 小时前
如何优化MySQL的查询性能?
数据库·mysql
用户479492835691514 小时前
性能提升 40 倍!实战 PostgreSQL FDW 解决微服务跨库查询难题
数据库·后端
计算机毕设VX:Fegn089515 小时前
计算机毕业设计|基于springboot + vue宠物医院管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
kimi-22215 小时前
LangChain 将数据加载到 Chroma 向量数据库
数据库·langchain
麒qiqi16 小时前
理解 Linux IO 多路复用
开发语言·数据库
MediaTea17 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python
山峰哥17 小时前
SQL调优核心战法——索引失效场景与Explain深度解析
大数据·汇编·数据库·sql·编辑器·深度优先
GottdesKrieges17 小时前
OMS迁移平台问题排查思路
数据库
源力祁老师17 小时前
Odoo 客户端注册表
数据库
学Linux的语莫17 小时前
Milvus向量数据库的操作(基于Langchain)
数据库·langchain·milvus