mysql executebatch_Mysql批量插入executeBatch测试
Mysql批量插入executeBatch测试
第一次:没有设置手动提交,jdbc自动提交,代码如下:
public void test23(){
Connection conn = new ConnectionManager().newConnection();
PreparedStatement ps = null;
try {
String sql = "insert into uuidtest(uuid) values(?)";
ps = conn.prepareStatement(sql);
long start = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
String uuid = UUID.randomUUID().toString();
System.out.println(uuid);
ps.setString(1, uuid);
ps.addBatch();
}
ps.executeBatch();
long end = System.currentTimeMillis();
System.out.println(end-start);
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
执行时间为:165766毫秒
第二次:设置手动提交,程序最后手动提交,代码如下:
public void test23(){
Connection conn = new ConnectionManager().newConnection();
PreparedStatement ps = null;
try {
conn.setAutoCommit(false);
String sql = "insert into uuidtest(uuid) values(?)";
ps = conn.prepareStatement(sql);
long start = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
String uuid = UUID.randomUUID().toString();
System.out.println(uuid);
ps.setString(1, uuid);
ps.addBatch();
}
ps.executeBatch();
conn.commit();
long end = System.currentTimeMillis();
System.out.println(end-start);
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
执行时间为:1135毫秒
第三次:设置手动提交,程序最后手动提交,每一千次执行缓存的sql语句并清空缓存,代码如下:
public void test23(){
Connection conn = new ConnectionManager().newConnection();
PreparedStatement ps = null;
try {
conn.setAutoCommit(false);
String sql = "insert into uuidtest(uuid) values(?)";
ps = conn.prepareStatement(sql);
long start = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
String uuid = UUID.randomUUID().toString();
System.out.println(uuid);
ps.setString(1, uuid);
ps.addBatch();
if(i%1000==0){
ps.executeBatch();
ps.clearBatch();
}
}
conn.commit();
long end = System.currentTimeMillis();
System.out.println(end-start);
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
执行时间为:993毫秒
mysql executebatch_Mysql批量插入executeBatch测试相关推荐
- mysql如何优化性能优化_如何优化性能?MySQL实现批量插入以优化性能的实例详解...
这篇文章主要介绍了MySQL实现批量插入以优化性能的教程,文中给出了运行时间来表示性能优化后的对比,需要的朋友可以参考下 对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时 ...
- mysql测试数据100w_利用MySQL存储过程批量插入100W条测试数据
这里将告诉您利用MySQL存储过程批量插入100W条测试数据,具体完成步骤:DROP PROCEDURE IF EXISTS insert_batch; CREATE PROCEDURE insert ...
- mysql 文件批量插入_mysql大批量插入数据的4种方法示例
前言 本文主要给大家介绍了关于mysql大批量插入数据的4种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法一:循环插入 这个也是最普通的方式,如果数据量不是很大,可以使用, ...
- mysql executebatch_executeBatch()批量插入贼慢,求大神帮助啊,感激不尽,已经弄了几天了,硬是找不出问题...
本人在做 excel 数据导入导数据库时碰到的问题,在执行 executeBatch()时就会卡住超级慢 数据库:mysql excel 文件:2W+行,56 列 步骤:首先把 excel 的数据解析 ...
- Mybatis 针对ORACLE和MYSQL的批量插入与多参数批量删除
今天利用Mybatis的<for each>标签做oracle的批量插入数据时,发现和MySQL数据库有区别.在此记录下,以防之后再踩坑. 一.批量插入: 1.controller: /* ...
- MySQL + MyBatis 批量插入时存在则忽略或更新记录
一.存在时则忽略 为什么在发现重复时会忽略?这里面涉及到两个地方. 1.重复则忽略.那么首先是需要判断是否重复,这里是通过唯一索引判断是否重复的.如果表中唯一索引的字段已经存在与将要插入的记录行中唯一 ...
- php批量数据提交mysql_php在mysql里批量插入数据(代码实例)
假如说我有这样一个表,我想往这个表里面插入大量数据CREATE TABLE IF NOT EXISTS `user_info` ( `id` int(11) NOT NULL AUTO_INCREME ...
- mysql ibatis 批量插入_ibatis 批量插入逻辑
ibatis oracle 批量插入配置 insert into T_LAW_STATISTICS_CLASSIFY(ID,TEMPLATE,ALIAS,CONTENT,BACKUP1,BACKUP2 ...
- springboot批量更新实体_mybatis+mysql+springboot批量插入,批量更新数据
在开发过程中都会遇到批量的插入或者是更新数据,本人只写了一下自己在做的过程中遇到问题,写此篇文章的作用:第一是记录自己在工作过程中的问题.第二是方便同行的伙伴们避免出现这样的问题消耗太多的时间.废话不 ...
最新文章
- Excel添加读音(中英均可)
- macpycharm格式化代码_PyCharm for mac 2020.2 强大的Python IDE工具
- IP地址分类及CIDR划分方法
- Java 解析XML的几种方法
- JAVA学习笔记-Scanner的使用
- 前谷歌技术主管亲述:程序员请避开这几大雷区
- stm32双向可控硅调压程序_双向可控硅的工作原理
- mysql数据库 二十一练习题 及答案 (mysql练习题)
- PostgreSQL 数据库NULL值的默认排序行为与查询、索引定义规范 - nulls first\last, asc\desc...
- JAVA日期查询:季度、月份、星期等时间信息
- Postfix+Dovecot搭建MailServer配置说明
- 2023最新毕业设计选题 -python毕设选题推荐 - 如何选题 避免被坑
- 联通的流量卡都是快递激活吗?快递激活手机卡有没有关系?
- Js函数加括号、不加括号
- 使用ADC精确测量电阻阻值
- java个人常见异常
- 世界气象日话“海洋气象”系列之——CMRC
- 红蓝对抗-红蓝对抗经验总结
- 汽车电子EMC实验简介
- 大学专业计算机科学与技术主修课是什么,大学本科计算机科学与技术专业需要主修哪些课程...
热门文章
- 计算机网络课程设计ipv6,实验:IPv6协议的配置和使用
- MySQL简单拷贝并重命名_MYSQL 复制,重命名表等
- 数据结构之栈以及栈的基本操作
- 基于FPGA的AM调制与解调(Verilog语言)
- windows 打包 python 然后linux执行_使用pyinstaller打包python源代码,成为linux/windows下可执行文件...
- MySQL性能调优(MySQL高性能第三版)
- 使用单例模式封装网络工具类(okH)
- okHttp拦截器(转载)
- C#中线程和进程的区别
- Tornado的Application