有一個約 200 筆資料的 CSV 檔案,需在 3 分鐘內讀取並寫入資料庫。建議使用 Java 的 BufferedReader 逐行讀取,並以 JDBC 批次插入資料。
BufferedReader 讀取 CSV,以 split(",") 分隔欄位。PreparedStatement 預編譯 SQL。executeBatch()。String sql = "INSERT INTO orders (col1, col2) VALUES (?, ?)";
PreparedStatement ps = conn.prepareStatement(sql);
int count = 0;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
ps.setString(1, parts[0]);
ps.setString(2, parts[1]);
ps.addBatch();
count++;
if (count % 100 == 0) {
ps.executeBatch();
conn.commit();
}
}
ps.executeBatch();
conn.commit();
不一定需要寫「批處理檔(.bat)」,在 Java 程式內部即可完成批次寫入。
