关于在项目中遇到MySQL数据库死锁的问题

在MySQL中, 当一个事务去更新某条数据, 还没有提交的时候, 第二个事务去更新该数据, 则会出现等待获取锁超时异常:

>>  Lock wait timeout exceeded; try restarting transaction

此异常时由于在处理业务逻辑时, 第一条事务既没有提交, 也没有回滚引起的, 当出现该异常时, 则应该去查找项目中有哪些地方可能出现该问题.

通常情况下, 可能导致该问题的代码都是手动创建事务, 然后commitrollback的处理没有处理好, 所以更加提倡, 在项目中使用spring的声明式事务注解@Transactional处理事务, 降低出现该情况的风险.

猜你喜欢

转载自www.cnblogs.com/yanwu0527/p/9962937.html