Mysql MVVC

Mysql MVVC

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

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

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

可重复读

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

快照清理

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

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

相关推荐
Kookoos2 分钟前
ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
数据库·c#·.net·neo4j·abp vnext
云之兕29 分钟前
MyBatis 的动态 SQL
数据库·sql·mybatis
gaoliheng00634 分钟前
Redis看门狗机制
java·数据库·redis
?ccc?1 小时前
MySQL主从复制与读写分离
数据库·mysql
会飞的Anthony2 小时前
数据库优化实战分享:高频场景下的性能调优技巧与案例解析
数据库
潘yi.2 小时前
Redis哨兵模式
数据库·redis·缓存
行止62 小时前
MySQL主从复制与读写分离
linux·数据库·mysql
ChicagoTypewriter3 小时前
MySQL用户和授权
mysql
Htht1113 小时前
【Qt】之【Get√】【Bug】通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const
数据库·bug