本文主要是介绍面试系列——MYSQL死锁分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
死锁处理:
- 等待,直到超时(50S);
- 发起死锁检测,主动回滚一条小事务;
死锁预防:
- 尽量使用唯一索引,减小锁的粒度;
- 使用小事务;
- 操作完了立马提交事务;
- 不要锁表;
- 单一事务,尽量重复用一样的锁;
信息收集:
- 利用命令 SHOW ENGINE INNODB STATUS查看死锁原因。
- 调试阶段开启 innodb_print_all_deadlocks,收集所有死锁日志。
间隙锁不互斥,临键锁和行锁的S锁、X锁都会互斥,产生死锁;
这篇关于面试系列——MYSQL死锁分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!