MySQL如何实现批量更新为不同的值?三种方法:临时表,prepared statement,on duplicate key

本文探讨了在MySQL中实现批量更新为不同值的三种策略:使用标准SQL的prepared statement,通过临时表更新,以及MySQL特有的ON DUPLICATE KEY语法。这些方法旨在减少网络IO次数,提高效率,确保原子性,同时注意潜在的死锁问题。
摘要由CSDN通过智能技术生成

前言

在对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` 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值