iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL批量更新的四种方法
  • 352
分享到

MySQL批量更新的四种方法

mysql数据库mybatis 2023-08-31 17:08:19 352人浏览 独家记忆
摘要

最近做一个需求,更新3w条数据,一个一个update去更新的,结果花了80分钟,这样性能上很差,也容易阻塞,所以就找了一些Mysql批量更新的方式,在此记录一下 方法一;replace into 这种更新会将其它字段更新为默认值,因为

最近做一个需求,更新3w条数据,一个一个update去更新的,结果花了80分钟,这样性能上很差,也容易阻塞,所以就找了一些Mysql批量更新的方式,在此记录一下

方法一;replace into

这种更新会将其它字段更新为默认值,因为它是先将重复记录删掉再更新,谨慎使用

1

2

replace into `user` (id,age) values (1,'2'),(2,'3'),(3,'4'),(4,'98');

-- > 时间: 0.038s

方法二:insert into [table] values… on duplicate key update

这种方式应该也是删掉记录,再更新,但是保存的原来的其它字段数据,所以其它字段不会改变

1

2

insert into `user`(id,age) values (1,'5'),(2,'7'),(3,'2'),(4,'198') on duplicate key update age=values(age)

-- > > 时间: 0.017s

方法三:创建临时表

创建临时表,将更新数据插入临时表,再执行更新,需要有建表权限

1

2

3

4

5

6

7

8

9

10

11

DROP TABLE if EXISTS tmp;

-- > 时间: 0.016s

create temporary table tmp(id int(4) primary key,age varchar(50));

-- > 时间: 0.01s

insert into tmp values  (1,'13'), (2,'16'),(3,'18'),(4,'18');

-- > 时间: 0.009s

update `user`, tmp set `user`.age=tmp.age where `user`.id=tmp.id;

-- > 时间: 0.022s

方法四:使用mysql自带批量更新语句

1

2

3

4

5

6

7

8

9

10

11

12

13

update `user`

    set age = CASE id

    WHEN 1 THEN '22'

    WHEN 2 THEN '22'

    WHEN 3 THEN '22'

    WHEN 4 THEN '22'

END WHERE id IN(1,2,3,4);

-- > 时间: 0.015s

update (表名)

set (更新字段) = case (被更新字段)

when (被更新字段值) then (更新字段值)...

end where (被更新字段) in((被更新字段值)...)

举例说明:set age = CASE id WHEN 1 THEN ‘22’

简单来说就是以id为查询条件,当id=1时更新age=22,where语句提高了sql的执行效率,先过滤需要修改的记录然后再更新。

总结

到此这篇关于MySQL批量更新的四种方式的文章就介绍到这了,希望可以对你有所帮助。

来源:微点阅读  https://www.weidianyuedu.com/

来源地址:https://blog.csdn.net/weixin_45707610/article/details/130900245

您可能感兴趣的文档:

--结束END--

本文标题: MySQL批量更新的四种方法

本文链接: https://www.lsjlt.com/news/386506.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL批量更新的四种方法
    最近做一个需求,更新3w条数据,一个一个update去更新的,结果花了80分钟,这样性能上很差,也容易阻塞,所以就找了一些MySQL批量更新的方式,在此记录一下 方法一;replace into 这种更新会将其它字段更新为默认值,因为...
    99+
    2023-08-31
    mysql 数据库 mybatis
  • MySQL批量更新的四种方式总结
    目录直接update的弊端方法一;replace into方法二:insert into [table] values… on duplicate key update方法三:创建临时表总结直接update...
    99+
    2023-01-12
    mysql批量更新sql语句 批量更新的sql语句 mysql批量新增或更新
  • MySQL中批量更新的方法是什么
    在MySQL中,可以使用以下方法来进行批量更新数据: 使用UPDATE语句和IN子句:可以通过使用UPDATE语句和IN子句来更新...
    99+
    2024-04-18
    MySQL
  • mysql批量更新update
    引言:mysql 批量更新如果一条条去更新效率是相当的慢, 循环一条一条的更新记录,这样性能很差,也很容易造成阻塞,例如几百条或几千条数据需要同时更新,一条条更新就会很慢了,下面介绍mysql 批量更新的以下四种办法 1、replace i...
    99+
    2023-08-31
    mysql 数据库
  • MySql快速插入以及批量更新的方法
    这篇文章主要讲解了“MySql快速插入以及批量更新的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySql快速插入以及批量更新的方法”吧!插入:  M...
    99+
    2024-04-02
  • pgsql的批量更新方法是什么
    在 PostgreSQL 中,可以使用 UPDATE 语句来实现批量更新。可以通过 WHERE 子句来指定要更新的记录,也可...
    99+
    2024-05-10
    pgsql
  • mybatisplus添加真正的批量新增、批量更新的实现方法
    这篇文章主要介绍mybatisplus添加真正的批量新增、批量更新的实现方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用mybatis-plus来进行批量新增和更新时,你会发现其实是一条条sql执行,下面进行优...
    99+
    2023-06-14
  • Hibernate批量更新和批量删除的方法是什么
    这篇文章主要介绍“Hibernate批量更新和批量删除的方法是什么”,在日常操作中,相信很多人在Hibernate批量更新和批量删除的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate...
    99+
    2023-06-17
  • MySQL如何批量更新死锁
    这篇“MySQL如何批量更新死锁”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL如何批量更新死锁”文章吧。表结构如下...
    99+
    2023-07-06
  • sqlsugar批量更新数据的方法是什么
    SQLSugar可以使用批量更新数据的方法是通过UpdateRange方法来实现。该方法可以接收一个包含多个实体的List集合作为参...
    99+
    2024-04-09
    sqlsugar
  • java批量更新数据的方法是什么
    在Java中,可以使用以下方法来批量更新数据:1. 使用JDBC批处理:通过JDBC的批处理功能,可以一次性将多条SQL语句发送到数...
    99+
    2023-09-11
    java
  • plsql批量更新数据的方法是什么
    在PL/SQL中,批量更新数据通常使用FORALL语句。FORALL语句允许一次性更新多行数据,从而提高了效率。具体方法如下:1. ...
    99+
    2023-10-12
    plsql
  • 大批量数据分批批量插入或更新(Mybatis+MySQL)
    大批量数据分批批量插入或更新 在MySQL数据库的前提下,插入或更新大批量数据。首先批量插入需要考虑到以下几个因素: 数据库一次可以承受多大或者多少条数据的插入批量插入是否会占用Mysql资源太久,影响系统整体使用性能代码中的集合是否会造成...
    99+
    2023-08-30
    mybatis mysql 数据库 java spring boot
  • Mybatis批量操作sql写法示例(批量新增、更新)
    在使用foreach时,collection属性值的三种情况: 如果传入的参数类型为List时,collection的默认属性值为list,同样可以使用@Param注解自定义keyN...
    99+
    2024-04-02
  • pymongo使用update_many方法批量更新记录
    使用的主要函数是:coll.update_many(),当需要对同一批数据进行更新的时候,可以用这个函数 使用时: coll.update_many({筛选这一批数据需要查询的内容(字典类型) }, {"$set": {更新的内容...
    99+
    2023-08-20
    数据库 mysql sql
  • Mybatis批量更新优化方案
    目录 前言需求原方案优化方案一优化方案二总结 前言 今天在对接客户接口的时候,对方同步数据到我们系统,涉及到数据批量更新,插入的逻辑,出于性能方面的考虑,决定对自己写的逻辑进行优化,下面对...
    99+
    2023-09-08
    mybatis mysql java
  • oracle按条件批量更新的方法是什么
    Oracle按条件批量更新的方法是使用UPDATE语句结合WHERE子句来指定更新的条件。以下是更新语法的一般格式:```s...
    99+
    2023-09-13
    oracle
  • mybatis-plus的批量新增/批量更新以及问题
    目录 1.代码中foreach insert/update2.多线程foreach insert/update3.mybatis xml中foreach4.myb...
    99+
    2023-05-15
    mybatis-plus的批量新增和更新及问题 mybatis-plus的批量新增 mybatis-plus的/批量更新
  • Oracle存储过程批量更新实现方法
    标题:Oracle存储过程批量更新实现方法 在Oracle数据库中,使用存储过程批量更新数据是一种常见的操作。通过批量更新可以提高数据处理的效率,减少对数据库的频繁访问,同时也能减少代...
    99+
    2024-03-08
    oracle 存储过程 批量更新 sql语句
  • Mysql中怎么实现Update批量更新
    Mysql中怎么实现Update批量更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常情况下,我们会使用以下SQL语句来更新字段值:UPD...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作