GreatSQL 死锁案例分析

原文英文,约1700词,阅读约需6分钟。发表于:

## 1.背景概述 客户业务发生死锁的报错,根据业务程序日志及业务流程,发现造成死锁的原因是:事务1 delete + insert ,事务2 delete + insert 2个事务交替执行导

本文介绍了一个数据库死锁问题的复现和原因分析。通过业务程序日志和业务流程,发现死锁是由于两个业务交替执行的delete和insert操作导致的。当delete的数据存在时,不会产生死锁;当delete的数据不存在时,会产生死锁。建议业务逻辑修改为先判断数据是否存在,存在则先删除再插入,不存在则直接插入。

相关推荐 去reddit讨论