位置: 编程技术 - 正文

使用JDBC在MySQL数据库中如何快速批量插入数据(mysql jdbc)

编辑:rootadmin

推荐整理分享使用JDBC在MySQL数据库中如何快速批量插入数据(mysql jdbc),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql-jdbc,jdbc添加数据到mysql,jdbc操作mysql,jdbc添加数据到mysql,使用jdbc操作数据库步骤,jdbc mysql8,mysql-jdbc,jdbc操作mysql数据库,内容如对您有帮助,希望把文章链接给更多的朋友!

使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(W+),如何提高效率呢?

在JDBC编程接口中Statement 有两个方法特别值得注意:

Adds a set of parameters to this PreparedStatement object's batch of commands.

Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts. The int elements of the array that is returned are ordered to correspond to the commands in the batch, which are ordered according to the order in which they were added to the batch.

通过使用addBatch()和executeBatch()这一对方法可以实现批量处理数据。

不过值得注意的是,首先需要在数据库链接中设置手动提交,connection.setAutoCommit(false),然后在执行Statement之后执行connection.commit()。

执行完成以后:

使用JDBC在MySQL数据库中如何快速批量插入数据(mysql jdbc)

All down : Convert finished. All spend time/s :

一共W+,执行时间一共花费 秒.

这个效率仍然不高,似乎没有达到想要的效果,需要进一步改进。

在MySQL JDBC连接字符串中还可以加入参数,

rewriteBatchedStatements=true,mysql默认关闭了batch处理,通过此参数进行打开,这个参数可以重写向数据库提交的SQL语句。

useServerPrepStmts=false,如果不开启(useServerPrepStmts=false),使用com.mysql.jdbc.PreparedStatement进行本地SQL拼装,最后送到db上就是已经替换了&#;后的最终SQL.

在此稍加改进,连接字符串中加入下面语句(代码构造方法中去掉注释):connectStr += "&#;useServerPrepStmts=false&rewriteBatchedStatements=true";

再次执行如下:

All down : Convert finished. All spend time/s :

同样的数据量,这次执行只花费了秒 ,处理效率大大提高.

标签: mysql jdbc

本文链接地址:https://www.jiuchutong.com/biancheng/349236.html 转载请保留说明!

上一篇:Mysql Explain 详细介绍

下一篇:CentOS中mysql cluster安装部署教程

  • 财务软件进什么费用
  • 契税计税依据及税率
  • 残疾人就业保障金
  • 记账王怎么查询凭证
  • 保单的增值税发票
  • 专票没有税点
  • 商业汇票和商业本票
  • 专家咨询费个人所得税怎么计算
  • 销售给客户红包,说给的现金,如何把控
  • 法人购买设备怎么入账
  • 原材料加工费怎么入账的
  • 取得抵债资产的方式主要有以下几种
  • 企业应缴的教育费附加税是多少?
  • 陈列费发票属于什么科目
  • 旅游业要怎么进行差额征税处理
  • 行政事业单位会计基础工作规范
  • 购买食堂餐具开票怎么开
  • 收到未到期的银行承兑汇票会计分录
  • 应收账款收款后怎么做账
  • 酒店购买矿泉水再卖给客人怎么处理
  • 资本公积 税务
  • 小规模增值税免税额
  • 土地使用税和房产税
  • 保护电脑安全的主要方式
  • mac废纸篓彻底删除
  • 民间借贷以工资抵押的案例
  • 商业承兑汇票如何签收
  • php如何实现伪静态
  • php分页函数封装
  • linux中的大于号什么意思
  • phpcms怎么用
  • php对二维数组进行排序
  • 固定资产按公允价值还是约定的价值
  • php文件上传技术
  • 报销凭证写错了怎么办
  • git简明教程
  • 基于matlab的随机森林回归和交叉验证
  • php命令大全
  • 借款凭证会计分录是什么
  • element ui vue 3
  • 哪些研发费用可以资本化
  • 销售费用处理不包括哪些
  • 法定的盈余公积是什么
  • db2 -x
  • 企业之间交换房地产要交土地增值税吗
  • 用人单位垫付生育津贴垫付金额和垫付天数
  • 无形资产的成本包括增值税吗
  • 内账需要哪些单据
  • 业务招待费如何扣除
  • 员工罚款从工资中代扣
  • 盈余公积的用途主要是
  • 投资性房地产转换日的确定
  • 未分配利润高怎么解释
  • 什么是大病医疗救助
  • 母子公司往来款是否涉及交税
  • 旅行社的代订机票产品能报销吗
  • 金税三期网络设置
  • 探讨探讨
  • 数据库中多表连接的方式
  • win10 mysql 5.6.35 winx64免安装版配置教程
  • windows server 2008 r2离线激活
  • centos安装选择哪个
  • 方正电脑升级
  • 重装系统要懂什么
  • centos解压软件
  • iusb3mon.exe是什么
  • linux字符串命令
  • win7怎么无损升级到win10系统
  • windows8飞行模式怎么关
  • Cocos2dx3.2 Crazy Tetris 制作简单的凸多边形刚体
  • bat vba
  • Unity3D游戏开发(第2版)pdf
  • Android中SQLite数据库的使用
  • centos6安装python
  • c语言 ls
  • jquery ui autocomplete
  • Android使用HttpURLConnection和HttpClient请求服务器数据
  • 宁波税务总局官网
  • 马来西亚进口货物的标签要求
  • 重庆国家税务局发票流向查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设