首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL 批量更新时为什么建议用 CASE WHEN 而不是逐条 UPDATE

MySQL 批量更新时为什么建议用 CASE WHEN 而不是逐条 UPDATE

作者头像
用户1839651
发布于 2026-11-07 11:09:52
发布于 2026-11-07 11:09:52
140
举报
概述
线上有个订单状态同步任务,需要把一批订单按照上游返回的结果更新成不同的状态。最初的实现很简单,循环里拼一条 UPDATE 语句,几百条订单跑下来接口耗时直接飙到几秒,数据库连接池也开始告警。排查后发现每条 UPDATE 都要走一次网络往返、解析、加锁和提交,即使开了事务,锁竞争和日志写入的代价也远高于预期。这类批量按不同值更新的场景在数据同步、定时任务、后台批处理里很常见,很多人第一反应是写循环,

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

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

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