水稻:最近有个朋友生产环境出现MySQL死锁问题,一听是死锁,那必须去看看啊,于是饶(si)有(qu)兴(huo)致(lai)的研究了好几天
菜瓜:MySQL死锁,赶紧分享一下
水稻:能否先让我装完X,我从朋友那里拿到数据结构,复现,分析,查资料,总。。。
菜瓜:今天的菜真香
水稻:。。。好吧,进入正题(数据已加工处理)
一开始朋友拿出了死锁日志中记录的两条SQL语句(暂且把第一条SQL叫SQL1,第二条SQL2)
-- 两句SQL结构一致,只是参数不一样。 explain update `deadlock` set `status` = 1,`expired` = CURRENT_TIMESTAMP where `id` <= 35610745 and `from` = '1' and `to` = 'c' ; explain update `deadlock` set `status` = 1,`expired` = CURRENT_TIMESTAMP where `id` <= 35611183 and `from` = '1' and `to` = '2' ;