使用JDBC进行批处理INSERTS的有效方法
在我的应用程序中,我需要执行很多插入操作。它是一个Java应用程序,我正在使用普通的JDBC执行查询。该数据库是Oracle。我已经启用了批处理,因此它节省了我执行查询所需的网络等待时间。但是查询作为独立的INSERT顺序执行:
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是否可能更有效:
insert into some_table (col1, col2) values (val1, val2), (val3, val4), (val5, val6)
即将多个INSERT折叠成一个。
还有其他使批处理INSERT更快的技巧吗?
回答:
这是前两个答案的混合:
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();
以上是 使用JDBC进行批处理INSERTS的有效方法 的全部内容, 来源链接: utcz.com/qa/402124.html