β

mysql批量update操作 ( mysql batch update)

申思维的站点/Siwei's site 740 阅读

refer to: http://blog.bubble.ro/how-to-make-multiple-updates-using-a-single-query-in-mysql/

我们的app 后台,有个操作很消耗时间: 每次要更新2000+ 条记录.

默认的mysql 一条一条的处理,速度很慢, 操作2587条数据, 耗时将近3分钟.

所以,需要优化.  把原来的:

update ...
update ...
update ...
update ...
....

修改成:

UPDATE mytable SET title = CASE
WHEN id = 1 THEN ‘Great Expectations’
WHEN id = 2 THEN ‘War and Peace’
...
END
WHERE id IN (1,2,...)

时间从 3分钟,变成了 3秒 (首次运行) , 0.72秒(第二次以及以后运行)

作者:申思维的站点/Siwei's site
我是申思维,从事于WEB 和移动app开发 熟悉js (coffeescript), CSS, HTML,跟web相关的服务器(apache, nginx, passenger, mongrel, t
原文地址:mysql批量update操作 ( mysql batch update), 感谢原作者分享。

发表评论