线上遇到 MySQL 死锁怎样还原现场?
查看完整题解
参考回答
直接回答
保留死锁报告,找出每个事务执行的语句、持有与等待的锁,再按顺序画出等待环。结合表索引和业务访问路径,定位为何同一批资源被反向获取。
讲清原理
最近一次死锁信息会被后续事件覆盖,运行时等待视图也只是当前证据。统一锁顺序、缩小扫描和缩短事务针对不同成因。
例子与易错点
对可重试失败,在应用重新开始整个事务并设上限。核对受影响业务和外部动作幂等,避免只在日志中把报错隐藏。
相关题 · 第 30 题、第 66 题
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。