阿小信大人的头像
Life is short (You need Python) Bruce Eckel

记一次由MySQL UPDATE语句导致锁等待后引发的服务炸裂2022-05-07 00:20

goroutine数量暴增

#### 场景描述

接收到P99超时告警,定位到某接口导致,接口是由新同事实现的,逻辑较简单,是一个MySQL的INSERT OR UPDATE逻辑,
一个请求过来,判断某个非主键字段是否存在,不存在则INSERT插入,存在则按该字段UPDATE更新其他字段。
超时告警在触发与恢复之间反复触发,平均耗时6秒,接口最近无改动,已上线一段时间运行正常。

表结构:

CREATE TABLE `CAPTION` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`created_at` int(1

......
#数据库#   #mysql 评论[0]阅读全文[156]