37. InnoDB多版本-更新
? 目的
– 测试各种更新场景下,聚簇索引记录/二级索引记录的变化
? 准备
create table test (id int primary key, comment char(50)) engine=innodb;
create index test_idx on test(comment);
insert into test values (1, ‘aaa’);
insert into test values (2, ‘bbb’);
38. InnoDB多版本-更新(cont.)
? 更新主键
update test set id = 9 where id = 1;
– 旧记录标识为删除
– 插入一条新纪录
– 新旧记录前项均进入回滚段
51. 滨苍苍辞顿叠事务/锁/多版本-参考资料
? Peter Zaitsev InnoDB Architecture and Internals
? MySQL Manual InnoDB Startup Options and System Variables
? Transactions on InnoDB Better scaling of read-only workloads
? Dimitrik MySQL Performance: Read-Only Adventure in MySQL 5.6
? Marco Tusa Some fun around history list
? MySQL Musings Binlog Log Group Commit in MySQL 5.6
? Kristian Nielsen Even faster group commit!
? MySQL Bugs UPDATE on InnoDB table enters recursion, eats all disk space
? sleebin9 MySQL数据库InnoDB存储引擎中的锁机制
? 何登成 InnoDB Crash Recovery & Rollback Segment源码实现分析
? 何登成 MySQL外部XA及其在分布式事务中的应用分析
? 何登成 MySQL InnoDB源代码调试跟踪分析
? 何登成 InnoDB SMO-Row-Page-Extent-Lock-Latch实现分析
? 何登成 MySQL+InnoDB semi-consitent read原理及实现分析
? 何登成 InnoDB多版本可见性分析
? 何登成 MariaDB & Percona XtraDB Group Commit实现简要分析
? 何登成 MVCC (Oracle, Innodb, Postgres)分析
? 何登成 MySQL Bug 65745分析