概述

我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增 删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事 务隔离机制、锁机制、MVCC多版本并发控制隔离机制、日志机制,用一整套机制来解决多 事务并发问题。

事务ACID特性

MVCC (Multi-Version Control Concurrency Control)

多版本并发控制本可以做到读写不阻塞, 读写可以并行执行, 解决串行化效率太低的问题

select操作

原理:

undo日志版本链

trx_id: 事务id

roll_pointer:回滚指针 → undo log

Untitled