首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >RR下MySQL自增主键可能会拖垮整个系统

RR下MySQL自增主键可能会拖垮整个系统

作者头像
无毁的湖光-Al
发布2026-07-02 18:31:41
发布2026-07-02 18:31:41
930
举报

MySQL在Repeatable READ(RR)情况下,insert出现唯一键(二级索引)冲突的时候会对主键加一个gap锁,在自增主键的情况下往往都会加在supermum上,也就是锁到(当前max,+无穷)。毫无疑问,当线上服务所有机器都等在这个supermum上的时候必然会产生等待。平时在唯一主键索引冲突很少的情况下并不凸显,但一旦出现较多唯一主键冲突叠加某台机器fullgc卡死的时候。所有insert都等待在那个疯狂fullgc导致迟迟无法commit的机器上,进而整个集群都会被拖垮而无法响应。

至于为什么唯一键(二级索引)冲突了需要锁主键其实是为了在RR下保证一致性。具体可以见这篇文章:

https://bugs.mysql.com/bug.php?id=116815

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 解Bug之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档