在我的应用程序中,我需要进行大量插入。它是一个 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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)