MySql教程

面试系列——MYSQL死锁分析

本文主要是介绍面试系列——MYSQL死锁分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

死锁处理:

  1. 等待,直到超时(50S);
  2. 发起死锁检测,主动回滚一条小事务;

死锁预防:

  1. 尽量使用唯一索引,减小锁的粒度;
  2. 使用小事务;
  3. 操作完了立马提交事务;
  4. 不要锁表;
  5. 单一事务,尽量重复用一样的锁;

信息收集:

  1. 利用命令 SHOW ENGINE INNODB STATUS查看死锁原因。
  2. 调试阶段开启 innodb_print_all_deadlocks,收集所有死锁日志。

间隙锁不互斥,临键锁和行锁的S锁、X锁都会互斥,产生死锁;

这篇关于面试系列——MYSQL死锁分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!