当前位置:   article > 正文

org.springframework.dao.CannotAcquireLockException异常处理

org.springframework.dao.cannotacquirelockexception:

在这里插入图片描述
项目组上线后,遇到一个令人蛋疼的问题,好几张表频繁被锁住,导致数据库状态更新不及时,业务阻塞不能继续干活!

网上百度了一些都说是Spring事务嵌套锁死导致的,但我遇到不是这个问题导致的,因为研发测试阶段从来没有出现过类似问题,如果是事务嵌套导致锁死,那么早就发现了。。。。那么问题到底出现在哪里呢。。。。
说出来有点不可思议,这张表其实除了此处修改,其他几乎没有更新的地方,但有一处地方是对此表进行关联查询,生产环境上查询响应时间耗时40秒左右,用户频繁操作查询,导致数据库这个表压力太大,连带着其他好几张表更新出现问题!
问题原因:查询性能太慢,数据库压力太大,对象被锁定,导致事务出现问题。
解决办法:优化sql查询(打索引解决,查询性能提升至0.2秒-0.5秒!)

注意:平时研发、测试、压测虽然都通过了,但是还会隐藏很多问题,上线后,由于单据量爆增,查询效率断崖式下降,很多致命问题都显现出来。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/729300
推荐阅读
相关标签
  

闽ICP备14008679号