为了账号安全,请及时绑定邮箱和手机立即绑定

mysql:更新多条记录,是用case when进行批量update好,还是一条一条update好?

mysql:更新多条记录,是用case when进行批量update好,还是一条一条update好?

慕仙森 2019-03-20 08:37:39
update多条记录,乐观锁要根据版本号进行判断更新多条记录,是用case when进行批量update好,还是一条一条update好?哪个性能更好?另外好像case when不能走索引,这样效率很低?
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

首先,要知道这两种方法的利弊:

批量更新

  1. 请求次数少,效率高

  2. 会产生大事务,锁表时间长

  3. 会加大主从延迟时间

单条更新

  1. 请求次数多,效率不如批量高

  2. 小事务,锁表时间短

  3. 不会加大主从延迟时间

根据各自特点可以总结为,离线库或访问量低的数据库可选择批量更新,生产数据库选择逐条更新。


查看完整回答
反对 回复 2019-03-20
?
动漫人物

TA贡献1815条经验 获得超10个赞

从单个请求上来说,一次请求肯定效率更高,但记录数不能太多, 否则长时间锁表,对其他请求变得不可用,整体可用性大为降低,用户体验变差

查看完整回答
反对 回复 2019-03-20
  • 2 回答
  • 0 关注
  • 603 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信