存储mysql死锁

时间:2018-11-07 14:40:49

标签: mysql innodb deadlock

我想知道是否有一种方法可以将在innodb中记录该事务的每一个导致死锁的事务存储在单独的表中?

1 个答案:

答案 0 :(得分:0)

在5.5.30版中,innodb_print_all_deadlocks可用。将其设置为ON,但要注意它使用的日志文件(可能是error.log)可能会使磁盘混乱。

减少死锁数量的技术:

  • 加快交易速度。
  • 将DML语句从事务中移出(为什么可以这样做)。
  • 如果某条语句中有INOR(例如DELETEing多行),请对其进行排序。

最后一个 可能将死锁变成“ locK_wait_timeout”,其中一个事务被静默停止,直到另一个事务结束。