首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL 中 SELECT ... FOR UPDATE 锁范围与索引的实战分析

MySQL 中 SELECT ... FOR UPDATE 锁范围与索引的实战分析

作者头像
用户11716263
发布于 2026-11-09 10:49:30
发布于 2026-11-09 10:49:30
170
举报
概述
最近在处理一个库存扣减的业务时,遇到了一个看似简单但很容易踩坑的问题:使用 SELECT ... FOR UPDATE 锁定行记录,结果在并发下出现了死锁和超卖。排查后发现,锁的范围并不总是像预期那样只锁住目标行,而是和查询条件是否命中索引、隔离级别以及执行计划密切相关。这篇文章从一次实际的库存扣减场景出发,分析 InnoDB 在可重复读隔离级别下 SELECT ... FOR UPDATE 的加

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档