用户11716263
MySQL 中 SELECT ... FOR UPDATE 锁范围与索引的实战分析
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户11716263
社区首页
>
专栏
>
MySQL 中 SELECT ... FOR UPDATE 锁范围与索引的实战分析
MySQL 中 SELECT ... FOR UPDATE 锁范围与索引的实战分析
用户11716263
关注
发布于 2026-11-09 10:49:30
发布于 2026-11-09 10:49:30
17
0
举报
概述
最近在处理一个库存扣减的业务时,遇到了一个看似简单但很容易踩坑的问题:使用 SELECT ... FOR UPDATE 锁定行记录,结果在并发下出现了死锁和超卖。排查后发现,锁的范围并不总是像预期那样只锁住目标行,而是和查询条件是否命中索引、隔离级别以及执行计划密切相关。这篇文章从一次实际的库存扣减场景出发,分析 InnoDB 在可重复读隔离级别下 SELECT ... FOR UPDATE 的加
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
php
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档