MySQL 核心模块揭秘 | 25 期 | 死锁(1)准备工作

目录

  • 1. 模拟死锁

  • 2. 死锁检查线程

  • 3. 锁等待快照

  • 4. 锁等待图

  • 5. 事务权重

    • 5.1 初始化权重

    • 5.2 提升权重

    • 5.3 更新权重

  • 6. 总结

正文

1. 模拟死锁

创建测试表:

CREATE TABLE `t1` (<br>  `id` int unsigned NOT NULL AUTO_INCREMENT,<br>  `i1` int DEFAULT '0',<br>  PRIMARY KEY (`id`) USING BTREE,<br>  KEY `idx_i1` (`i1`)<br>) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;<br>