死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象。正常死锁会自动释放,innodb有一个内在的死锁检测工具,当死锁超过一定时间后,会回滚其中一个事务,innodb_lock_wait_timeout可配置死锁等待超时时间。
死锁在两情况下最容易产生:
- 高并发同时操作同一条数据
- 存在主键和辅助索引,加锁顺序相反
避免死锁方法即降低并发,操作数据时使加锁顺序相同。
愿你也能走出你的信息茧房
死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象。正常死锁会自动释放,innodb有一个内在的死锁检测工具,当死锁超过一定时间后,会回滚其中一个事务,innodb_lock_wait_timeout可配置死锁等待超时时间。
死锁在两情况下最容易产生:
避免死锁方法即降低并发,操作数据时使加锁顺序相同。
愿你也能走出你的信息茧房