用JDBC實現批量插入的有效方法在我的應用程序中,我需要做大量的插入。這是一個Java應用程序,我使用普通JDBC執行查詢。數據庫是Oracle。不過,我已經啟用了批處理,因此可以節省網絡延遲來執行查詢。但是,查詢作為單獨的插入依次執行:insert into some_table (col1, col2) values (val1, val2)insert into some_table (col1, col2) values (val3, val4)insert into some_table (col1, col2) values (val5, val6)我想知道以下插入形式是否更有效:insert into some_table (col1, col2) values (val1, val2), (val3, val4), (val5, val6)也就是說,將多個插入物折疊成一個。還有其他讓批量插入更快的提示嗎?
3 回答

湖上湖
TA貢獻2003條經驗 獲得超2個贊
PreparedStatement ps = c.prepareStatement("INSERT INTO employees VALUES (?, ?)"); ps.setString(1, "John"); ps.setString(2,"Doe"); ps.addBatch(); ps.clearParameters(); ps.setString(1, "Dave"); ps.setString(2,"Smith"); ps.addBatch(); ps.clearParameters(); int[] results = ps.executeBatch();

青春有我
TA貢獻1784條經驗 獲得超8個贊
這個Statement提供以下選項:
Statement stmt = con.createStatement();
stmt.addBatch("INSERT INTO employees VALUES (1000, 'Joe Jones')");
stmt.addBatch("INSERT INTO departments VALUES (260, 'Shoe')");
stmt.addBatch("INSERT INTO emp_dept VALUES (1000, 260)");
// submit a batch of update commands for execution
int[] updateCounts = stmt.executeBatch();
添加回答
舉報
0/150
提交
取消