MySQL是否总能自动检测到死锁?或者在某种情况下,MySQL无法弄清楚它是在处理死锁?
答案 0 :(得分:3)
根据文档,MyISAM是一个表级锁定存储引擎,deadlock-free。
InnoDB有deadlock detection。
NDB检测是通过超时实现的。您可以为事务设置TransactionDeadlockDetectionTimeout参数。
因此,无论是回滚还是超时,死锁最终都会恢复。
答案 1 :(得分:0)
我认为这取决于您使用的引擎,例如innodb可以自动执行此操作。
更多解释是here.