org.springframework.dao.CannotAcquireLockException异常处理

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

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

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

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值