定位阻塞链
定位阻塞链
SELECT * FROM sys.innodb_lock_waits\G
-- 看 wait_started / waiting_query / blocking_query / blocking_pid
-- 追到阻塞会话:
SELECT THREAD_ID, PROCESSLIST_ID, PROCESSLIST_INFO
FROM performance_schema.threads
WHERE PROCESSLIST_ID = 12345;
-- 处置(评估后):
KILL 12345;| wait_age | 等多久了(秒) |
|---|---|
| blocking_query | 阻塞方正在执行 SQL |
| 决策 | 先联系业务/作者确认,再决定 KILL |
KILL 是大事务回滚的开始:回滚可能比执行还久,先看事务写了多少再动手。