JDBC快速保存数据到MySQL
来源:互联网 发布:大数据细分领域 编辑:程序博客网 时间:2024/06/01 18:46
摘要:笔者需求是1秒保存2万条以上的数据到MySQL,用mybatis批量添加测试没有达到,下面这种差不多
测试准备100万条左右,时间是字符串类型的
@Test public void insert() { // 开时时间 Long begin = System.currentTimeMillis(); try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yfaf", "root", "abcdef"); DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String time= LocalDateTime.now().format(format); StringBuffer suffix = new StringBuffer(); // 设置事务为非自动提交 conn.setAutoCommit(false); PreparedStatement pst = conn.prepareStatement(""); // 构建sql前缀 String prefix = "insert into realtime_data(time,data,index_id,department_id) values "; // 外层循环,总提交事务次数 for (int i = 1; i <= 100; i++) { for (int j = 1; j <= 10000; j++) { // 构建sql后缀 suffix.append("("+"\""+ time+ "\"" + ","+ 1.0f +"," + 7201+ "," + 4 +"),"); } // 构建完整sql String sql = prefix+(suffix.substring(0, suffix.length()-1)); pst.addBatch(sql); // 添加执行sql pst.executeBatch(); // 执行操作 conn.commit(); // 提交事务 suffix.setLength(0); // 清空上一次添加的数据 } // 头等连接 pst.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } // 结束时间 Long end =System.currentTimeMillis(); // 耗时 System.out.println("time : " + (end - begin) / 1000 + " s"); }
经测试,每次保存差不多42,43秒左右,但是,有的说这种方式测试100万条添加只需23秒左右!我换了3台电脑测试的,都是42秒左右!!不只哪里的原因,有测试到20几秒的望告知
阅读全文
0 0
- JDBC快速保存数据到MySQL
- JDBC保存EXCEL数据到数据库(1.JDBC操作类)
- Mysql 通过JDBC快速插入数据方法
- JDBC保存EXCEL数据到数据库(3.POI保存Excel数据到数据库)
- mysql 将远程数据保存到本地
- java 保存数据到mysql出现???
- MySQL 导出数据保存到文件中
- JAVA保存数据到mysql中文乱码
- python爬取拉勾网数据保存到mysql数据库
- 如何快速保存ListView内存中大量数据到Excel
- 快速将excel数据保存到Oracle数据库中
- MYSQL快速同步数据到Redis
- 编写Mysql JDBC程序导入数据到mysql
- 使用JDBC在MySQL数据库中快速批量插入数据
- 使用JDBC在MySQL数据库中快速批量插入数据
- 使用JDBC在MySQL数据库中快速批量插入数据
- 使用JDBC在MySQL数据库中快速批量插入数据
- 使用JDBC在MySQL数据库中快速批量插入数据
- JVM系列(一)垃圾回收算法
- SpringBoot的入门搭建(一)
- NavigationView中获取headerLayout的方法
- 牧函 | 十字架和垃圾场
- hdu 6235 Permutation
- JDBC快速保存数据到MySQL
- 原型对象的作用及原型对象的用法
- Hangover
- 简单泛型DAO的实现
- IMX6的LINUX下的IIC驱动(一)
- python编写spark的配置
- list去除重复元素的两种方法
- STM32寄存器列表 RCC时钟相关寄存器
- Python 正则表达式元字符、re 模块