MySQL的四个隔离级别是如何实现的
2021/7/29 2:37:39
本文主要是介绍MySQL的四个隔离级别是如何实现的,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 读未提交
- 所有的读不加锁,读到的数据都是最新的数据,性能最好
- 所有的写加行级锁,写完就立即释放,不等事务结束
2. 读已提交
- 使用的是MVCC技术
- 写操作:加行级锁,事务开始后,会添加一条undo记录。数据行的隐藏列有指向undo记录的指针
- 读操作:不加锁,在读取时,如果该行被其他事务锁定,则顺着隐藏列上undo指针,找到上一个有效的历史记录。(有效记录:该记录对当前事务可见,且DELETE_BIT=0)
3. 可重复读
- 也是使用MVCC技术,读写操作跟上面几乎一样
- 区别是读已提交每次读都生成最新的read view,而可重复读只在事务第一次提交的时候生成read view,之后再读到还是用之前的read view(此方法还能解决幻读)。
4. 串行化
- 所有的读写都加锁
这篇关于MySQL的四个隔离级别是如何实现的的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程