事务、MVCC、锁

目录

  • 事务
  • MVCC

事务

四大特性:ACID

脏读:事务A读取到未提交事务B修改的数据
不可重复读:事务A修改了未提交事务B读取的数据
幻读:事务A增删了未提交事务B读取的数据
不可重复读与幻读都是读取的结果不同,前者侧重于修改,是对单条记录;后者侧重于增删,是查询出的结果集的变化
事务、MVCC、锁_第1张图片

MVCC

概念:多版本并发控制,通过版本链Read View来控制并发事务对相同记录的访问
版本链:记录中的roll_pointer指向的一系列操作的undo log链表
Read View:一致性视图,也叫快照,用来判断事务应该看到版本链中的哪个版本数据

事务、MVCC、锁_第2张图片

概念:多个未提交事务对同一条记录进行改动时,需要排队执行。通过为该记录加锁,这个锁本质上是一个在内存中的结构

事务、MVCC、锁_第3张图片

事务、MVCC、锁_第4张图片


事务、MVCC、锁_第5张图片

你可能感兴趣的:(java学习,数据库)