只是简单的update/insert/delete这种情况比较简单,不做过多讨论。
如果是读取别的表的字段,然后更新目标表中的数据的话,不同的处理方式,性能差距很大,也是经验所得。
1)单条读取字段然后更新目标表记录,这种方式很好理解,最容易被想到,但是执行起来,就算是mysql驱动使用了连接池,性能也很差;
对于处理mysql数据,如果数据量大应该首先想到用批处理的方式。
2)首先读取一批别的表中的数据(比如100或者1000条),然后使用mysql的批量更新语句(有好几种方式),比如
UPDATE yoiurtable
SET dingdan = CASE id
WHEN 1 THEN 3
WHEN 2 THEN 4
WHEN 3 THEN 5
END
WHERE id IN (1,2,3)
另外,还有别的方式(如replace,insert,。。),可以根据具体情况选择适当的方式。实测能够翻好多倍,如果数据量大的情况下,可以节省很多脚本处理数据的时间。