生产踩坑:锁等待超时 Lock wait timeout,你的排查思路是什么?

线上频繁出现锁超时,大家一般从哪几个方向定位问题?热点行、大事务、DDL 还是索引问题?

出现锁等待超时,先通过系统视图定位阻塞源,然后按热点行 → 长事务 → 索引缺失 → MDL 锁的优先级排查,

和MySQL的排查思路一样。trx和data_lock_wait,慢查询也会有一定的记录。
如果锁不太容易观察,写个脚本,定时记录一下以上两个表的数据看看容易分析。

还是先看看sql的锁定情况分析锁定的场景

最简单直接看processlist,观察是不是有执行时间较长sql挑出来看看有没有表冲突

先查慢日志锁定大事务,核对热点行更新,检查表 DDL 执行,确认更新字段缺索引引发全表锁。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。