一,问题复现
对于同一个方法中,有insert和update操作,并且,update操作中的条件字段没有主键或者索引,这时候会偶发出现死锁(Deadlock found when trying to get lock; try restarting transaction)一
二,解决方案
1.使用事务,但是避免使用长事务,将大事务拆小,分段多提交。
2.sql语句条件字段添加上主键或者索引,这样执行后为行锁,避免表锁,从而避免死锁。
对于同一个方法中,有insert和update操作,并且,update操作中的条件字段没有主键或者索引,这时候会偶发出现死锁(Deadlock found when trying to get lock; try restarting transaction)一
1.使用事务,但是避免使用长事务,将大事务拆小,分段多提交。
2.sql语句条件字段添加上主键或者索引,这样执行后为行锁,避免表锁,从而避免死锁。