MySQL不同插入方式性能对比实验

这篇具有很好参考价值的文章主要介绍了MySQL不同插入方式性能对比实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近负责的项目需要数据同步入库MySQL,为了测速那种入库方式效率比较高,为此进行了以下的对比实验,在此记录一下

实验表单数据格式

MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

实验代码

共三种方法对比
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

mutiSqlInsert:

一条一条插入,最后一次提交

MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

singleSqlInsert:

用for循环拼接好插入sql,一次执行

MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

executeBatchInsert:

使用MySQL提供的方法executeBatch(),同样使用一次提交
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

实验结果

1W条数据插入

mutiSqlInsert
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

singleSqlInsert
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

executeBatchInsert

MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

10W条数据插入

mutiSqlInsert
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

singleSqlInsert
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

executeBatchInsert
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

2000条数据插入(当前kafka设置的单次最大拉取数为2000)

Kafka配置截图
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

mutiSqlInsert
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

singleSqlInsert
MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

executeBatchInsert

MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库

结论

在一次性拉取数据较少时,mutiSqlInsert和executeBatchInsert的性能相差不大
当一次性插入数据非常多时,比如10W条,singleSqlInsert的性能会急剧下降,甚至不如mutiSqlInsert

关于10W条数据插入时singleSqlInsert的性能会急剧下降的原因,参考此文
https://blog.csdn.net/Tom_sensen/article/details/127922964

MySQL不同插入方式性能对比实验,项目,java后端,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-815078.html

到了这里,关于MySQL不同插入方式性能对比实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 不同打包工具下的环境变量配置方式对比

    本文作者为 360 奇舞团前端开发工程师 天明 前言 在现代的 JavaScrip t应用程序开发中,环境变量的配置是至关重要的。不同的应用场景和部署环境可能需要不同的配置,例如开发、测试和生产环境。最常见的需求是根据不同的环境,配置如是否开启 sourceMap 、 API 请求地址的切

    2024年01月17日
    浏览(39)
  • mysql不同隔离级别事务插入数据

    面试中问到了相关问题,做下问题记录 问题是这样的,数据库默认隔离级别下,事务A插入一条数据,没有提交,事务B插入一条数据,提交,表id为自增,如果表是空表,事务A和事务B的id分别是多少。 2.1.1 打开一个mysql窗口,事务A 执行代码块 2.1.2 打开另一个窗口,事务B 执

    2024年02月11日
    浏览(47)
  • 关于克拉美罗下界(CRLB)-及不同DOA估计算法下的方差(性能)对比

        参数估计 在科研、工程乃至生活中都有广泛的应用。参数估计要解决的问题简单来说就是:基于一组观测数据,通过某种方法来获得我们想要的,与观测数据相关的一个或多个参数。     克拉美-罗界(Cramr-Rao Bound, CRB) 是 无偏估计 里我们常用的且十分重要的 一种对不同

    2024年04月13日
    浏览(113)
  • MYSQL不存在插入 存在更新的解决方法和对比

    设置主键id自增,name为唯一索引 /句: insert ignore into ,如果插入的数据会导致 UNIQUE索引 或 PRIMARY KEY 发生冲突/重复,则忽略此次操作/不插入数据,例: 这里已经存在 name=\\\'Jack”的数据,所以会忽略新插入的数据,受影响行数为 0,表数据不变 需要注意 主键会自增 当使用

    2024年02月02日
    浏览(33)
  • java + opencv对比图片不同

    1,去官网下载opencv,下载的时候需要注册一个 Oracle 账户,分分钟就能注册。然后安装。我下的是4.7的。 2,找到jar包放进项目里 3,项目结构,比较简单 4,把下载的文件放进C盘 5,主类代码 6,工具类 7,效果图。如果是一张彩色和一张黑白的图片,效果就不太理想了。 资

    2024年02月11日
    浏览(37)
  • Oracle或者MySQL 将一个表中的数据插入到另外一个表中(表名不同,表字段也可能不同)

    在Oracle或者MySQL中,如何将一个表中的数据插入到另外一个表中(表名不同,字段名可能也不同),以Oracle数据库为例。 (1)创建一个包含所需字段的新表 (2)使用INSERT INTO SELECT将数据从旧表复制到新表。在SELECT语句中,选择需要从旧表中复制的字段。

    2024年02月15日
    浏览(47)
  • LED灯闪烁拓展实验——单按键控制LED灯不同闪烁方式

    实现平台:Vivado2018.3 1. 使用按键KEY0和KEY_1分别控制LED0和LED1两个LED灯的闪烁方式; 2. 当没有按键按下时,两个LED灯均不亮; 3. 当按键KEY0按下后,LED0灯闪烁,当按键KEY0再次按下后则LED1灯闪烁,如此循环往复; 4. 当按键KEY1按下后,LED0和LED1交替闪烁,当按键KEY1再次按下后则

    2024年01月23日
    浏览(39)
  • MySQL中的两种特殊插入方式

    代码案例 PointMapper.java PointMapper.xml 代码案例 PointMapper.java PointMapper.xml on duplicate key update 和 replace into 是两种处理重复键冲突的方法,但它们具有一些区别 功能不同 on duplicate key update 在插入数据时,如果遇到重复键冲突,会更新已存在的行的值 replace into在插入数据时,如果遇

    2024年02月12日
    浏览(57)
  • mysql 批量数据插入很慢(kettle 输入输出组件) 性能优化办法

    背景 最近在做数仓重构项目,遇到一些性能瓶颈,这里记录一下解决办法。 随着业务数据每天都在增加,几年前开发的etl任务开始跑不动了。大表一般是通过增量的方式插入,但是修复bug 或者每月/季度跑一次的情况 需要跑全量,原来的etl任务可能需要跑几个小时,甚至出

    2024年01月17日
    浏览(42)
  • @Autowired 和 @Resource的区别只知道注入方式不同?那可不行,其性能上也有差距!

    目录 Autowire vs Resource 性能比较 先上结论: @Resource查找Bean的时间复杂度为O(1): @Autowired查找Bean的时间复杂度为O(n): 不能将所有的@Resource无脑替换成@Autowired 结合源码分析Autowire vs Resource 性能比较 @Autowire注解的处理地方: org.springframework.beans.factory.annotation.AutowiredAnnotationBea

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包