解析MySQL UPDATE锁范围:扫描行数决定锁定规模
发生了什么
据稀土掘金文章,InnoDB执行UPDATE时,锁的范围等于扫描的行数而非最终修改的行数。若WHERE条件无索引导致全表扫描,即使只改少量行也会锁定全表。优化方案包括使用游标分批处理、为WHERE条件列建立索引以减少扫描行数,或在业务允许时将隔离级别从RR改为RC以消除间隙锁。
报道与来源
1 篇发布方数量不等于独立核验数量。同稿的多个入口保留在对应报道中。
- 稀土掘金来源报道
为什么UPDATE比SELECT危险得多?锁范围等于扫描行数
来源关系与证据边界
按已记录的来源角色展示;连线仅表示原生身份流程确认的同稿入口,不表示独立佐证或跨报道引用。
- 来源报道1 个发布入口