用户12771345
MySQL 中 UPDATE 语句锁住了全表?聊聊 WHERE 条件不当引发的间隙锁问题
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户12771345
社区首页
>
专栏
>
MySQL 中 UPDATE 语句锁住了全表?聊聊 WHERE 条件不当引发的间隙锁问题
MySQL 中 UPDATE 语句锁住了全表?聊聊 WHERE 条件不当引发的间隙锁问题
用户12771345
关注
发布于 2026-11-13 10:16:33
发布于 2026-11-13 10:16:33
24
0
举报
概述
线上一个订单状态回调接口突然开始超时,检查慢查询日志发现一条 UPDATE orders SET status = 2 WHERE order_no = '...' AND user_id = 123 的语句执行时间超过 3 秒,但 order_no 和 user_id 上明明有联合索引。进一步排查发现该表在事务中执行这条 UPDATE 时,锁住了大量不相关的行甚至整个范围,导致其他订单的更新请求
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
php
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档