MySQL像数据库批量插入100w条数据
来源:互联网 发布:厨娘物语的淘宝店好 编辑:程序博客网 时间:2024/05/01 19:38
package com.test.mysql;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
public class MysqlBatchUtil {
private String sql="INSERT INTO tb_user (user_name,password,age) VALUES (?,?,?)";
private String connectStr="jdbc:mysql://localhost:3306/test";
private String username="root";
private String password="root";
private void doStore() throws ClassNotFoundException, SQLException, IOException {
Class.forName("com.mysql.jdbc.Driver");
connectStr += "?useServerPrepStmts=false&rewriteBatchedStatements=true";//此处是测试高效批次插入,去掉之后执行时普通批次插入
Connection conn = (Connection) DriverManager.getConnection(connectStr, username,password);
conn.setAutoCommit(false); // 设置手动提交
int count = 0;
PreparedStatement psts = conn.prepareStatement(sql);
long start = System.currentTimeMillis();
for(int i=0;i<=1000000;i++){
psts.setString(1, i+"username1");
psts.setString(2, i+"password2");
psts.setInt(3, i);
psts.addBatch(); // 加入批量处理
count++;
}
psts.executeBatch(); // 执行批量处理
conn.commit(); // 提交
System.out.println("数量="+count);
System.out.println("运行时间="+ (System.currentTimeMillis() - start)+"毫秒");
conn.close();
}
public static void main(String[] args) {
try {
new MysqlBatchUtil().doStore();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
public class MysqlBatchUtil {
private String sql="INSERT INTO tb_user (user_name,password,age) VALUES (?,?,?)";
private String connectStr="jdbc:mysql://localhost:3306/test";
private String username="root";
private String password="root";
private void doStore() throws ClassNotFoundException, SQLException, IOException {
Class.forName("com.mysql.jdbc.Driver");
connectStr += "?useServerPrepStmts=false&rewriteBatchedStatements=true";//此处是测试高效批次插入,去掉之后执行时普通批次插入
Connection conn = (Connection) DriverManager.getConnection(connectStr, username,password);
conn.setAutoCommit(false); // 设置手动提交
int count = 0;
PreparedStatement psts = conn.prepareStatement(sql);
long start = System.currentTimeMillis();
for(int i=0;i<=1000000;i++){
psts.setString(1, i+"username1");
psts.setString(2, i+"password2");
psts.setInt(3, i);
psts.addBatch(); // 加入批量处理
count++;
}
psts.executeBatch(); // 执行批量处理
conn.commit(); // 提交
System.out.println("数量="+count);
System.out.println("运行时间="+ (System.currentTimeMillis() - start)+"毫秒");
conn.close();
}
public static void main(String[] args) {
try {
new MysqlBatchUtil().doStore();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
阅读全文
0 0
- MySQL像数据库批量插入100w条数据
- mysql循环插入52w条数据
- mysql 控制每次批量插入5w条记录思路
- mysql 控制每次批量插入5w条记录思路
- 基于mysql 批量插入100w测试数据
- 100w条数据如何插入
- 使用JDBC向MySQL数据库批次插入10W条数据测试效率
- 如何往oracle数据库中插入100w条数据【方案一:hibernate批量处理】和hibernate框架的学习网址
- mysql命令行批量插入100条数据命令
- mysql存储过程插入40W条数据
- yii 学习笔记值 如何批量像数据库插入数据
- Java 批量插入数据库(MySQL)数据
- Java 批量插入数据库(MySQL)数据
- 批量插入数据(mysql数据库)
- 存储过程学习-批量插入10000条数据进数据库
- 存储过程学习-批量插入10000条数据进数据库
- c#中往mysql里批量插入上万条数据
- mysql存储过程,批量插入10000条数据
- 机器学习实战:k近邻算法
- Python数据扩展包之Pandas
- 201711122205->c#链接mysql
- 防止mybatis查询时间类型到前端出现一串数字的问题
- 【java】-jar包和war包的区别
- MySQL像数据库批量插入100w条数据
- Toast使用
- 使用Navicat创建MySql数据库定时事件
- BZOJ-POI 刷题记
- 171112-指针数组【连续二十天】
- Quartz-JobDataMap 参数传递
- Prime Gap UVA
- 从this指针区别const方法、static方法、与普通方法
- C++ 高性能服务器网络框架设计细节