AI / 编程与调试
用 InnoDB 死锁日志还原两条事务的加锁顺序
下面是 SHOW ENGINE INNODB STATUS 的死锁片段和涉及的两条 SQL。请:1)还原两个事务各自的加锁顺序,指出冲突的锁对象;2)判断是间隙锁、唯一键冲突还是更新顺序不一致;3)给出改法——调顺序、缩小事务、改隔离级别,分别说明代价;4)给出复现该死锁的最小并发脚本思路。不要只建议加重试。 [死锁日志/两条 SQL/索引结构]
中文原文
死锁多半是两处代码按不同顺序更新同一批行,先统一顺序。