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();
}
}
}
MySQL像數據庫批量插入100w條數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
PHP開發環境搭建與部署(wampserver+MySQL) PHP開發環境搭建與部署(wampserver+MySQL)
FremontBoy
2018-08-27 20:02:39
Mysql 5.6.30 insert null (ERROR 1048 (23000): Column 'ctime' cannot be null)
saife
2018-08-27 20:00:14
Can't read dir of '.' (errno: 13)
saife
2018-08-27 20:00:13
mysqldump: Got error: 1: Can't create/write to file '/data/export/test.txt' (Errcode: 13)
saife
2018-08-27 20:00:11
Ubuntu安裝inception錯誤處理make[2]: *** [sql/CMakeFiles/sql.dir/sql_yacc.cc.o] Error 1
saife
2018-08-27 20:00:11
MySQL鎖;Lock wait timeout exceeded; try restarting transaction
saife
2018-08-27 20:00:11
關於MySQL的order by與group by的組合使用
saife
2018-08-27 20:00:11
MySQL與JDBC連接
qq_875174369
2018-08-27 19:39:26
MySQL的基本操作
qq_875174369
2018-08-27 19:38:47
Ubuntu下使用PRM包安裝MySQL5.1.72
jimmylincole
2018-08-27 19:19:45
SQL GROUP BY
summerdream_
2018-08-27 19:19:08
MySQL 去除重複 Error Code:1093
summerdream_
2018-08-27 19:19:08