MySQL 死锁问题分析(中级篇)

innodb主动探知到死锁,并回滚了某一苦苦等待的事务。问题来了,innodb是怎么探知死锁的?
直观方法是在两个事务相互等待时,当一个等待时间超过设置的某一阀值时,对其中一个事务进行回滚,另一个事务就能继续执行。这种方法简单有效,在innodb中,参数innodb_lock_wait_timeout用来设置超时时间,如果出现大量死锁那么就会造成较多的超时时间浪费,系统当然会很卡,所以分析死锁也是一件非常重要的事情!
死锁检测是死锁发生时innodb给我们的救命稻草,我们需要它,但我们更需要的是避免死锁发生的能力,如何尽可能避免?这需要了解innodb中的锁。
死锁成因我就不写了 大家去看另外一篇博客吧:
https://www.cnblogs.com/tartis/p/9366574.h...
如何发现死锁 如何避免死锁 里面写的还是比较清晰的!

本作品采用《CC 协议》,转载必须注明作者和本文链接
胡军
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!