InnoDB 多版本并发控制 (MVCC) 的工作原理

摘要

通过一个简单的运行示例,我们解释了非锁定读、事务回滚和历史清除的工作原理。更具体地说,我将使用 MDEV-24402 中这个 SQL 的一个变体。

CREATE TABLE t1 (a INT PRIMARY KEY, b INT NOT NULL, INDEX(b)) ENGINE=InnoDB;
BEGIN;
INSERT INTO t1 VALUES(5,4);
DELETE FROM t1 WHERE a=5;
COMMIT;
BEGIN;
INSERT INTO t1 VALUES(5,5);
ROLLBACK;
CHECK TABLE t1 EXTENDED;
DROP TABLE t1;

日期和时间

  • 11月17日星期四,19:00 – 19:45 CET (UTC+1)

演讲者

Marko Mäkelä
软件开发人员 – MariaDB Corporation

Marko Mäkelä 拥有理论计算机科学博士学位。自 2003 年以来,他一直致力于 InnoDB 存储引擎的开发。他于 2016 年加入 MariaDB Corporation,担任 InnoDB 首席开发人员。他喜欢钻研底层代码、老式计算机、嵌入式系统和自行车。