mysql一条sql批量更新的效率_mysql批量更新的两种方式效率试验<二>

本文对比了MySQL中使用case when和整体循环update两种批量更新方式的效率和特点。当数据量小时,两者均可适用,但整体更新需开启allowMultiQueries。数据问题频繁时,整体更新更便于定位问题。而对于大规模批量更新,case when效率较低,推荐使用整体循环update。
摘要由CSDN通过智能技术生成

Mysql两种批量更新的对比

简介:

mysql搭载mybits框架批量更新有两种方式,一种是在xml中循环整个update语句,中间以‘;’隔开,还有一种是使用case when 变相实现批量更新,现就两种方法的效率做以对比。

两种写法:

方法一:整体循环update语句

注意:mysql默认不支持一条预编译sql以 ’;  ’ 分割这种方式执行,需要在mysql 的jdbcUrl参数上追加 allowMultiQueries=true开启支持

SQL如下:

update t_user

t_name = #{item.tName,jdbcType=VARCHAR},

t_age = #{item.tAge},

t_address = #{item.tAddress,jdbcType=VARCHAR},

t_pwd = #{item.tPwd,jdbcType=VARCHAR},

where t_id = #{item.tId};

该方法编写简单,便于理解,但是需要修改系统参数。

方法二:使用case when 方式拼接

SQL如下:

update t_user

when t_id=#{item.tId} then #{item.tName,jdbcType=VARCHAR}

when t_id=#{item.tId} then #{item.tAddress,jdbcType=VARCHAR}

when t_id=#{item.tId} the

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值