数据库死锁问题原因分析以及解决方案

xiaoxiao2021-02-27  140

对于存在多用户并发访问的项目,如果遇到了数据库deadLock 时 ,我们如何根据服务器的日志进行排查原因呢?

当你在服务器的日志中发现了在执行某条Insert或者是update 时 发生了deadLock ,很多开发人员都会去查看这个sql

对应的Java代码是否可能产生此种情况。其实你看到的时结果,最初的原因不在这个方法上面,当然也不排除特殊情况,

那么我们如何找到问题所在呢?1 看到的日志虽然不是问题的直接所在,但是间接知道了时那张表发生了死锁问题。

2 找到项目中操作此表的所有模块 进行排除,测试。

一般情况为: 出现问题的功能模块对此表资源进行了占据,使得其他模块不能进行访问此表。

我们可能在发生死锁的情况下,猜测为时:spring 事物管理出现了问题,数据库设计应该采用乐观锁。

转载请注明原文地址: https://www.6miu.com/read-14739.html

最新回复(0)