这种场景直接通过update语句更新即可,如:
UPDATE t_sys_user SET `desc` = 'CaseWhen-0' WHERE id IN (1001,1002,1003);
&allowMultiQueries=true
这个才可以执行
UPDATE t_sys_user WHERE id = #{param.id} `desc` = #{param.desc}
我个人本地测了一下,40w数据使用case when更新1000条用400ms-500ms,使用foreach用时2000ms左右循环遍历逐条更新没测,想想也是最慢的如果数据量大,case when更新多个字段估计也够呛,要遍历多次(上述代码5-10行)构建SQLUPDATE t_sys_user WHEN #{param.id} THEN #{param.desc} id in #{param.id}
到此这篇关于MySQL实现数据批量更新功能详解的文章就介绍到这了,更多相关MySQL数据批量更新内容请搜索程序之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序之家!