Java 批量导入大量数据
项目上线测试。产品说导入太慢了,一样的数据量另外一个系统只需要1分钟,我们要5分钟。。。。
开始以为是因为POI在解析07版本的Excel时候,因为数据量太多所以慢了,后面看下日志,发现是在入库的时候花的时间。
原因:
原来的更新不是批量执行,是一条条执行,所以太慢了
try
{
conn.setAutoCommit(false);
for (String sql : sqllist)
{
stmt = conn.prepareStatement(sql);
recentSql = sql;
stmt.executeUpdate();
stmt.close();
}
conn.commit();
flag = true;
}
优化:
先把批量的sql添加到列表中,再一次性提交执行
try {// 关闭事务自动提交
conn.setAutoCommit(false);
stmt = conn.createStatement();
Long startTime = System.currentTimeMillis();
for (String sql : sqllist) {
// 把一个SQL命令加入命令列表
stmt.addBatch(sql);
}
// 执行批量更新
stmt.executeBatch();
// 语句执行完毕,提交本事务
conn.commit();
flag = true;
Long endTime = System.currentTimeMillis();
log.info("用时:" + (endTime - startTime));
}
Java 批量导入大量数据的更多相关文章
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...
- springboot批量导入excel数据
1 背景 小白今天闲着没事,在公司摸鱼,以为今天有事无聊的一天,突然上头说小子,今天实现一下批量导入Excel数据吧,当时我的内心是拒绝的,然后默默打开idea. 2 介绍 2.1 框架 java本身 ...
- NPOI批量导入大量数据
简介:NPOI批量导入大量数据 使用SqlBulkCopy 可以将datatable里面的大量数据批量复制到数据库中,而不用担心性能问题,比系统中的传统做法(每20行数据执行一遍mydb.execut ...
- MySQL批量导入Excel数据
MySQL批量导入Excel数据 1.确定需要导入数据的表名称以及字段,然后在新建的Excel表中,按照表字段正确排序:(注:(Excel文件的名称最好和数据库的名称一致,sheet表的名字最好和表名 ...
- java 使用POI批量导入excel数据
一.定义 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二.所需jar包: 三.简单的一个读取e ...
- 快速批量导入庞大数据到SQL SERVER数据库(ADO.NET)
原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/11/11/1331060.html 如果你需要在程序中批量插入成千上万行的数据,你会怎么编写 ...
- kettle批量导入json数据
kettle新手上路,烦死了,工具好用,批量导入数据也快,就是有很多小细节需要注意. 使用kettle进行数据导入时,因为最近在做json数据的入库,以JSON Input为例进行说明: 首先是大概流 ...
- Dynamic CRM 2013学习笔记(三十一)自定义用excel批量导入实体数据
有一个实体的子表数据量太大,于是客户想用execel来导入实体数据.首先想到的是用系统自带的Import Data,客户嫌太麻烦,比如lookup字段要做map等. 下面是具体的实现步骤: 一.定义e ...
- java数据库导入excel数据
导入数据会将表格分为xls和xlsx两种格式,网上有很多案例 1.excel数据表中的数据不全,数据库中又是必填选项:---从sql语句入手:判断有无 来改变语句 //设置可有可无 字段 加一个必有字 ...
随机推荐
- react子传父
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- sql server中的charindex函数用法解析(在一段字符中搜索字符或者字符串-----返回expression1在expression2出现的位置;反之,返回0)
https://blog.csdn.net/xinghuo0007/article/details/70651358 知识点一:charindex()语法 CHARINDEX ( expression ...
- torch.utils.data.DataLoader使用方法
数据加载器,结合了数据集和取样器,并且可以提供多个线程处理数据集.在训练模型时使用到此函数,用来把训练数据分成多个小组,此函数每次抛出一组数据.直至把所有的数据都抛出.就是做一个数据的初始化. 生成迭 ...
- 1.7Oob方法的作用
public class Exse2 { public static void main(String[] args) { sumIntLong(10,15); sumIntLong(20,30); ...
- [daily][device][archlinux][trackpoint] 修改指点杆速度/敏捷度
修改指点杆速度,敏捷度: [root@T7 ~]# echo > /sys/devices/platform/i8042/serio1/serio2/sensitivity [root@T7 ~ ...
- IE浏览器Web自动化
一.常见问题 1.1 在IE11浏览器下运行自动化脚本特别缓慢. 具体表现:(64位IE驱动器下)脚本运行慢,尤其是文本框输入,其它浏览器是一起输入,但IE是单个字节输入字符串 解决方法:更换IE的 ...
- ES6 数组
数组创建 Array.of() 将参数中所有值作为元素形成数组. console.log(Array.of(1, 2, 3, 4)); // [1, 2, 3, 4] // 参数值可为不同类型 con ...
- favorite learning link
Xpath https://www.cnblogs.com/chenshaoping/p/5540434.html Awk Sort https://www.cnblogs.com/chengmo/a ...
- C#编程基础(简单概述与理解)
1.C#变量和数据输入 C#常用到的几个数据类型: 整型:int 说明:32位有符号整数 范围:-2³¹~2³¹-1 浮点型:double 说明:64位双精度浮点数 范围:±5.0×10-﹣³²~± ...
- hibernate重要知识点总结
一.使用注解方式-----实体和表之间的映射 配置spring的applicationContext.xml文件: <bean id="sessionFactory" cla ...