- 锁:排他锁(如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁
- mvcc : 多版本并发控制
MVCC
全称 Multi-Version Concurrency Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突 MVCC的具体实现,主要依赖于数据库记录中的隐式字段、undo log日志、readView。

MVCC-实现原理
1.记录中的隐藏字段

2.undo log
回滚日志,在insert、update、delete的时候产生的便于数据回滚的日志。
当insert的时候,产生的undo log日志只在回滚时需要,在事务提交后,可被立即删除。
而update、delete的时候,产生的undo log日志不仅在回滚时需要,mvcc版本访问也需要,不会立即被删除。
3.undo log版本链
本文详细介绍了MySQL中MVCC(多版本并发控制)的实现原理,包括记录中的隐藏字段、undo log和readView。MVCC通过维护数据的不同版本,确保读写操作的并发性。ReadView是快照读的依据,根据隔离级别(RC或RR)决定其生成时机。事务的隔离性由锁和MVCC共同保证,undo log用于记录回滚信息,形成版本链,readView则用于确定事务应访问的数据版本。
订阅专栏 解锁全文
- 10事务中的隔离性是如何保证&spm=1001.2101.3001.5002&articleId=136347339&d=1&t=3&u=535cf2f7917746ce8e324866d160fbf2)
1万+

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



