原因:因为删除数据的时候造成了区间锁,这个时间再写入并发大的情况下出现死锁的情况。
1、把mysql 的事务级别调整到 read-committed (如果在生产会有潜在的风险)
2、spring boot 的事务用注解 @Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW) 而不用spring boot默认的事务
spring boot 删mysql数据发生死锁参考几种方案总结
最新推荐文章于 2025-06-16 18:30:11 发布
博客指出删除数据时产生区间锁,在写入并发大的情况下会出现死锁。并给出解决办法,一是将MySQL事务级别调整到read - committed,但生产环境有潜在风险;二是Spring Boot事务使用注解@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW) 而非默认事务。
2139

被折叠的 条评论
为什么被折叠?



