龙空技术网

mysql死锁怎么解决

IT生涯 806

前言:

眼前朋友们对“mysql事务超时自动回滚”都比较关心,小伙伴们都想要知道一些“mysql事务超时自动回滚”的相关知识。那么小编也在网上收集了一些有关“mysql事务超时自动回滚””的相关文章,希望咱们能喜欢,同学们一起来学习一下吧!

MySQL有两种死锁处理方式:

● 等待,直到超时(innodb_lock_wait_timeout=50s),自动回滚事务。

● 发起死锁检测,主动回滚一条事务,让其他事务继续执行(innodb_deadlock_detect=on)。

由于性能原因,一般都是使用死锁检测来进行处理死锁。

死锁检测

死锁检测的原理是构建一个以事务为顶点、锁为边的有向图,判断有向图是否存在环,存在即有死锁。

回滚

检测到死锁之后,选择插入更新或者删除的行数最少的事务回滚,基于 INFORMATION_SCHEMA.INNODB_TRX 表中的 trx_weight 字段来判断。

标签: #mysql事务超时自动回滚 #mysql如何处理死锁 #mysql 处理死锁 #mysql删除死锁 #mysql解除死锁