1、MVCC
- InnoDB的事务隔离级别已提交读和可重复读的底层实现原理:
MVCC(多版本并发控制)–》并发的读取方式:快照读 - InnoDB提供了2种读取操作: 锁定读和非锁定读
- 锁定读就是读取的时候加锁了(S锁或者X锁)
- 非锁定读就是读取的时候没有加锁,指的就是MVCC提供的快照读–》依赖底层的undo log回滚日志。
事务日志: undo log回滚日志 和 redo log重做日志
ACID,A:原子性,C:一致性,I:隔离性,D:持久性
- ACD:(依靠 事务日志 保证的)
- I:(依靠 锁+MVCC 保证的)
undo log回滚日志的主要作用:
- 事务发生错误时回滚rollback ,回滚日志(数据在更新的时候,把改之前的数据存下来在回滚日志中,目的是为了事务万一出错回滚了或者我们手动回滚的时候,能够把最初的数据在回滚日志中找到)
- 提供了MVCC
本文详细介绍了MySQL中MVCC(多版本并发控制)的概念和实现原理,以及undo log的作用,强调其在事务隔离级别中的应用,如解决脏读、不可重复读等问题。通过对MVCC的工作方式和快照读取原则的解析,揭示了如何在并发环境中保证数据一致性。同时,文中还通过实例解释了不同隔离级别的测试情况,如已提交读和可重复读。
订阅专栏 解锁全文

776

被折叠的 条评论
为什么被折叠?



