InnoDB源码解析-日志系统

InnoDB源码解析-日志系统
MySQL 5.7中 Log Sys锁冲突比较大,MySQL 8.0对InnoDB Log Sys进行了重构。 我们先描述下5.7的 Log Sys看看锁冲突,然后再介绍8.0的方案以及部分代码实现细节。 mtr mtr 表示 mini-transaction,表示操作的一个最小原子单元,比数据库事务概念要更小。比如一个事务可能插入两行数据,但每插入一行都可能触发B-Tree的叶子分裂,页面的分裂操作涉及多个页面,这些页面的修改必须保持原子(不能发生分裂的第...

InnoDB源码解析-事务系统

InnoDB源码解析-事务系统
InnoDB事务系统负责InnoDB层事务管理,快照管理,MVCC等。 事务对象 InnoDB层事务对象为 struct trx_t 类型。 12345678910111213141516 // 部分字段struct trx_t {    trx_id_t id; // 事务开启序    trx_id_t no; // 事务提交序    trx_state_t state; // 事务状态  ...