使用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

回到顶部