Back

mysql批量update操作 ( mysql batch update)

发布时间: 2015-02-15 00:58:00

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秒(第二次以及以后运行) 

Back