昨天一个项目的跑批任务出现 wait lock table,restart transaction错误,看了一下应该是数据库表死锁了,查看日志定位代码后发现这个事务是在一个已经存在的事务中新开的,然后再看代码,发现果然在两个事务中访问了同一张表,这样导致前一个事务持有表的锁,而后一个事务要想拿锁是拿不到的。
解决办法,不要在父事务和子事务访问同一个表。
昨天一个项目的跑批任务出现 wait lock table,restart transaction错误,看了一下应该是数据库表死锁了,查看日志定位代码后发现这个事务是在一个已经存在的事务中新开的,然后再看代码,发现果然在两个事务中访问了同一张表,这样导致前一个事务持有表的锁,而后一个事务要想拿锁是拿不到的。
解决办法,不要在父事务和子事务访问同一个表。
本文标题:事务死锁
本文链接:https://www.haomeiwen.com/subject/qrnxvxtx.html
网友评论