用户1839651
MySQL 批量更新时为什么建议用 CASE WHEN 而不是逐条 UPDATE
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户1839651
社区首页
>
专栏
>
MySQL 批量更新时为什么建议用 CASE WHEN 而不是逐条 UPDATE
MySQL 批量更新时为什么建议用 CASE WHEN 而不是逐条 UPDATE
用户1839651
关注
发布于 2026-11-07 11:09:52
发布于 2026-11-07 11:09:52
14
0
举报
概述
线上有个订单状态同步任务,需要把一批订单按照上游返回的结果更新成不同的状态。最初的实现很简单,循环里拼一条 UPDATE 语句,几百条订单跑下来接口耗时直接飙到几秒,数据库连接池也开始告警。排查后发现每条 UPDATE 都要走一次网络往返、解析、加锁和提交,即使开了事务,锁竞争和日志写入的代价也远高于预期。这类批量按不同值更新的场景在数据同步、定时任务、后台批处理里很常见,很多人第一反应是写循环,
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
php
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档