InnoDB死锁分析-案例4-行锁升级next key lock

本文分析了一个InnoDB死锁案例,涉及行锁升级为Next-Key Lock导致的死锁问题。事务1862等待行锁而事务1861持有该锁并等待额外的Gap锁,导致死锁。问题源于update语句的where条件仅包含部分主键,扩大了加锁范围。解决办法是确保update语句的where条件包含所有主键值。
摘要由CSDN通过智能技术生成

一、死锁日志

LATEST DETECTED DEADLOCK
------------------------
2018-12-21 13:34:32 0x7fc92c3be700
*** (1) TRANSACTION:
TRANSACTION 1862, ACTIVE 6 sec starting index read
mysql tables in use 1, locked 1
LOCK WAIT 2 lock struct(s), heap size 1136, 1 row lock(s)
MySQL thread id 172, OS thread handle 140502007543552, query id 184 localhost root statistics
select           ac_no,         usr_no,         cap_typ,         ccy,         ac_typ,         ac_org,         cap_typ_sts,         cre_dt,         ord_seq,         last_ac_bal,         cur_ac_bal,         last_uava_bal,         uava_bal,         od_lmt,         max_bal_lmt,         min_bal_lmt,         bal_tag,         upd_dt,         upd_jrn,         nod_id,         req_id,         tm_smp    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值