mysql死锁检测
死锁条件:
操作相同资源,{1、可能是相同进程内的线程执行 2、也可能是不同进程内的线程执行}
死锁原因:
相同表记录行记录
不同索引锁冲突
mysql引擎,innodb检测死锁的方式
1、直观方法是看两个事务相互等待,当一个等待时间超过设置的某个阈值时,对其中一个事务进行回滚,另一个事务就能继续执行,innodb_lock_wait_timeout用来设置超时时间
2、wait-for graph原理 innodb将各个事务堪称一个个节点,资源就是各个事务占用的锁,当事务1需要等待事务2的锁时,就生成一条有向边从1指向2,形成一个有向图

浙公网安备 33010602011771号