亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用JDBC實現批量插入的有效方法

用JDBC實現批量插入的有效方法

暮色呼如 2019-07-20 09:56:35
用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();


查看完整回答
反對 回復 2019-07-20
?
青春有我

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();


查看完整回答
反對 回復 2019-07-20
  • 3 回答
  • 0 關注
  • 2404 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號