本文主要是介绍锁和MVCC如何实现mysql的隔离级别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
概述
MVCC解决读的隔离性,加锁解决写的隔离性。
读未提交
读未提交,更新数据大概率使用的是独享锁吧。
读已提交
在 Read Committed(读已提交)隔离级别下,每次执行读操作时都会生成一个新的 read view。这是因为在读已提交隔离级别下,每次读取操作都应该反映出其他事务已经提交的变更,因此需要生成新的 read view 来确保事务能够看到最新的已提交版本。
而在 Repeatable Read(可重复读)隔离级别下,事务只在启动时生成一个 read view,之后所有的读取操作都使用同一个 read view。这是因为可重复读隔离级别要求事务能够看到一个一致性的数据快照,而不受其他事务的影响。
可重复读
用临键锁解决了部分幻读
串行读
读已提交每次都会生成一个readview,可重复读只会生成一个readview。
这篇关于锁和MVCC如何实现mysql的隔离级别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!