mysql MVCC学习 (参考Java架构师迪迦bilibili视频)

mysql有三行隐藏列:             row_id              事务版本id          创建版本id      

事务二当中,在第一次查询时开启了一个快照。所以id为3 名字为tom的那行记录 插入的时候的创建版本是3,所以在本快照里是没有的,所以查不到。
那么总结一下 ,在 mvcc 中,什么样的记录在快照中查不到呢,
1、在建立快照之后 别的事务commit的事件无法查看到。
2、在建立快照的时候,状态是活跃状态(还未commit)的事务,也是无法在快照中查看的。
注意:  本事务的修改是可以查看的!!
实现方法:
ReadView:事务ID的列表(当前活跃的事务ID)  + .根据undo log 链循环获取上一个版本.
mvcc 只能在RC RR 中使用
如果没有锁  就会使用mvcc,那查询的时候有些什么锁呢!

 间隙锁最大的作用:阻塞插入!!

 等于前两种锁 同时使用~

 参考视频连接:停止你的低效学习!MySQL全系教程,两天我就学完了别人学半个月的

mysql MVCC学习 (参考Java架构师迪迦bilibili视频)最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/21902.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>