线上SQL超时场景分析-MySQL超时之间隙锁

打印 上一主题 下一主题

主题 991|帖子 991|积分 2973

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
前言

之前遇到过一个由MySQL间隙锁引发线上sql执行超时的场景,记录一下。
背景说明

分布式事务消息表:业务上使用消息表的方式,依赖本地事务,实现了一套分布式事务方案
消息表名:mq_messages
数据量:3000多万
索引:create_time 和 status
status:有两个值,1 和 2, 其中99%以上的状态都是2,表示分布式事务全部已经执行完成,可以删除。
消息表处理逻辑
1. 启动一个独立的定时任务,删除status=2的历史数据,具体的sql如下:
[code]    delete from mq_messages where create_time
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

何小豆儿在此

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表