Q:假设在执行service(Integer id)方法时,出现了数据库操作的死锁,我们如何确定是哪个步骤导致了死锁?

京东物流-技术专家:

通过审查该方法的业务逻辑,应首先检查delete(id)和insert(id)操作。如果id在数据库中不存在,delete操作实际上不会修改任何行,但会留下间隙锁,随后的insert操作会在相同位置创建插入意向锁,从而导致死锁。需要确定id是否存在,并在事务日志中查找相关的锁等待事件。

本文来自投稿,不代表TakinTalks稳定性技术交流平台立场,如若转载,请联系原作者。

(0)
上一篇 2024年7月17日 下午4:50

发表评论

邮箱地址不会被公开。