Mysql批量更新的一种很少见但很快的方式

news2024/11/17 13:35:39

相信朋友们来到这里,都被批量更新搞的很烦。因为数据量增大,处理时间甚至可以说指数增长。在mybatis里面用foreach其实效果并不好。当需要更新的数据条数很多时,程序响应会变得非常慢。那我无意中学习到了一种非常小众的写法的语句。但亲身测试之后效果却非常好。出于一些原因就不展示我的代码了,只写一个小的demo供大家参考。

建表语句如下

 CREATE TABLE `customer` (
  `id` BIGINT(16) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `customer_code` VARCHAR(32) DEFAULT NULL COMMENT '客户code',
  `customer_name` VARCHAR(64) DEFAULT NULL COMMENT '客户名称',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

表数据如下

 

批量更新语句如下

 UPDATE `customer` cu JOIN 
(
SELECT 1 AS id, '10001' AS customer_code, 'kimi' AS customer_name
UNION 
SELECT 2 AS id, '10002' AS customer_code, 'max' AS customer_name
UNION 
SELECT 3 AS id, '10003' AS customer_code, 'timo' AS customer_name
UNION 
SELECT 4 AS id, '10004' AS customer_code, 'checo' AS customer_name
) un USING(id, customer_code)
SET cu.customer_name = un.customer_name;

由于使用的是某云服务器而非公司服务器,语句执行时间0.0几秒

 

执行后的效果如下

这种方式最牛掰的地方在于。数据量越大,他的性能优势越明显。 

拜拜

下面是参考的资料

资料地址,侵删

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/195489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dart语法学习-函数、类与运算符 学习笔记

一、Runes and grapheme clusters 报错:Couldnt resolve the package characters in package:characters/characters.dart. 参考:flutter Error: Could not resolve the package ‘characters‘ in ‘package:characters/characters.dart‘._前进六的博…

AJAX(Asynchronous Javascript And Xml)

传统请求及缺点传统的请求都有哪些?直接在浏览器地址栏上输入URL。点击超链接提交form表单使用JS代码发送请求window.open(url)document.location.href urlwindow.location.href url....传统请求存在的问题页面代码全部清空、刷新,导致了用户的体验较差…

C语言——读写TXT文件中的(多行多列矩阵型)浮点型数据的两种方式

C语言——读写TXT文件中的(多行多列矩阵型)浮点型数据将要提取的数据方式一:将数据按行读取并写入到结构体数组中读取一个文件中的数据读取两个文件中的数据报错解决:0x00007FF6C90AB2C7 处有未经处理的异常(在 sfann_sins.exe 中…

LabVIEW更高的吞吐量与更少的延迟2

LabVIEW更高的吞吐量与更少的延迟2上一篇《LabVIEW更高的吞吐量与更少的延迟1》介绍了吞吐量的内容,本次介绍延迟的相关内容。改善延迟有一些技术可以解决改善延迟的问题。围绕这一目标的两个主要工具是实时操作系统和FPGA。实时操作系统任何操作系统都会遇到抖动或…

应用可靠性与性能不给力?HarmonyOS HiViewDFX了解一下

作为基础软件服务子系统的HarmonyOS HiViewDFX(以下简称HiViewDFX)框架,是HarmonyOS的公共基础设施。包括日志、事件、跟踪、故障管理及观测剖析五大部分,同时也提供了故障检测、定位和性能观测剖析的开发套件,以及将端…

操作系统权限提升(十一)之系统错误配置-启动项提权

系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权 操作系统权限提升(五)之系统错误配置-PATH环境变量提权 操作…

【前端】Vue项目:旅游App-(19)loading:网络请求时显示loading效果

文章目录目标过程与代码loading效果mainStore控制loading显示点击蒙板取消网络请求在网络请求处添加对loading的控制效果总代码修改或添加的文件loading.vueservice/request/indexstore/modules/mainApp.vue参考本项目博客总结:【前端】Vue项目:旅游App-…

自动化运维|云原生架构下的产品自动化发布、快速部署和持续交付实战之路

自动化运维|云原生架构下的产品自动化发布、快速部署和持续交付实战之路。 1.背景介绍 CI/CD是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一种面向开发和运维团队的解决方案,CI/CD 主要针…

只做笔记有必要买apple pencil吗?平价电容笔排行榜

如今国内的电容笔,牌子也越来越多了,苹果原装电容笔虽然性能不错,但价格也非常昂贵,一般人是买不起的。现在市面上有很多可以取代原来的苹果电容笔的平替电容笔。下面,我给大家推荐几款电容笔,好用而且价格…

Java 文件IO操作基础,File,FileInputStream,FileOutputStream

什么是文件 有个时候我们程序中的数据不会直接保存,一旦程序断电,数据将不会存在,如果我们想要我们程序中的数据永久的保存起来,所以,java的文件io显得非常重要。 什么是文件流 创建文件 如下相关的文件io方法 new F…

【教程】Wireshark抓取抖音直播的OBS推流地址和密钥

真不用花钱去买提取推流码的软件。。。自己提取很简单的。 简单记录一下,以备自己需要时候忘了怎么搞。 1、电脑开热点,手机连接热点; 2、电脑安装wireshark软件,并选择WLAN或者以太网接口; 3、wireshark筛选rtmpt&am…

Kubernetes持久化Events到sentry

背景 Kubernetes中的事件最终还是存储在etcd中,默认情况下只保存1个小时,由于etcd并不支持一些复杂的分析操作,默认Kubernetes只提供了非常简单的过滤方式,比如通过Reason、时间、类型等。同时这些事件只是被动的存在etcd中&…

CAPL(vTESTStudio) - DOIP - UDP发送_03

继UDP接收的介绍完成后,今天我们介绍下UDP发送的函数,这里我们将我自主开发的函数整体都会介绍个大家,一般能够完成大家日常脚本开发中90%以上使用发送UDP的数据函数,绝对干货满满。 UDP发送 一、参数定义 无论DoIP发送报文的UDP还是TCP函数,亦或是CAN、CANFDLIN的发送函…

Redux了解及应用(三)

React - redux 使用(由浅入深):https://blog.csdn.net/Jie_1997/article/details/128078971 这篇文章总结的很棒!!!了解redux及应用直接看这篇文章即可 备注:第五节的第三小节,容器…

学习驱动的复杂软件符号执行

原文来自微信公众号“编程语言Lab”:学习驱动的复杂软件符号执行搜索关注“编程语言Lab”公众号(HW-PLLab)获取编程语言更多技术内容!欢迎加入编程语言社区 SIG-编程语言测试,了解更多编程语言测试相关的技术内容。加入…

元宇宙:有人追捧,就会有人抵触

或许,直到现在,我们依然无法否认元宇宙即将对我们的生产和生活产生的深刻影响。即使是在它遭遇巨大的不确定性的大背景下,依然如此。 有人追捧,便有人抵触。元宇宙商用的止步不前,元宇宙技术的难以突破……几乎都是这…

为什么不进行穷举测试?

本章主要介绍不对所有可能性进行测试的原因,对于经理和测试人员,都应该了解测试是一种采样过程,需要了解采样给测试所带来的风险。 1、可进行测试的数目是无限的 如果不能查看代码内部逻辑,可输入的测试用例是无限的。当然还有在不…

第30章 分布式缓存强制删除触发器的触发调试

1 Services.Users.Caching.RoleCacheEventConsumer using Core.Caching; using Core.Domain.Users; using Services.Caching; namespace Services.Users.Caching { /// <summary> /// 摘要&#xff1a; /// 通过该类中的方法成员&#xff0c;在角色实体的1个实例…

Linux —— 文件系统概述、软硬链接与动静态库

目录 1.文件系统概述 1.1磁盘的基本存储结构 1.2磁盘的基本逻辑结构 1.3操作系统中的文件系统 1.4文件系统如何对磁盘进行管理 2.软链接、硬链接 2.1软链接 2.2硬链接 2.3目录的硬链接数 3.静态库和动态库 3.1静态库的制作 3.2静态库的使用 3.3动态库的制作 3.4动态…

年薪50k大佬带你五分钟学会接口自动化测试框架

今天&#xff0c;我们来聊聊接口自动化测试是什么&#xff1f;如何开始&#xff1f;接口自动化测试框架怎么做&#xff1f;自动化测试自动化测试&#xff0c;这几年行业内的热词&#xff0c;也是测试人员进阶的必备技能&#xff0c;更是软件测试未来发展的趋势。特别是在敏捷模…