前言
在对MySQL进行大量数据导入的时候,对于插入,我们通常会采用批量插入的方式
insert into `tb` (`id`, `f1`, `f2`) values (1, 'a','b'), (2, 'c', 'd'), (3, 'e', 'f')...
这样一方面是能够节约网络IO的次数,另一方面也能减少MySQL硬解析的时间,对于效率的提升有很大帮助。
那么对于批量更新,如果我们想更新为不同的值,该如何去操作呢?
标准SQL
其实,我们想实现批量更新,其实就是要优化大量数据更新的时间,最简单的方式就是将其放到一个连接里去执行,即:
update `tb` set f1 = 'c', f2 = 'd' where id = 1;update `tb` set f1 = 'e', f2 = 'f' where id = 2;update `tb`