提升MySql批量更新的效率

本人近期在mysql中进行表数据的批量更新时,遇到了一个比较讨厌的问题——数据更新的速度太慢。如何提升数据更新的速率?mysql

写在前面

上一篇博文提到了MySql中用一张表的数据更新另外一张表的部分数据,(文章地址),随之碰到了一个问题,就是数据更新的速度太过缓慢。百万条数据,用了57分钟。问了许多人,也感谢某网友的回复。获得了解决方案。web

解决方案

创建索引, 在将要进行数据更新的两个表中分别建立索引,而后跑了一遍:sql

UPDATE  B,C
SET B.forward_count=C.forward_count
WHERE C.uid=B.uid

发现速度获得了惊人的提高(2秒不到就跑完了),效率提升了1700多倍。感叹本身前几天苦苦的傻等,哎。所以记录下此方法,记念那些犯傻的日子。同时但愿你们不要走这样的弯路。svg