我正在编写Java代码,将一批插入语句在Oracle数据库中执行。我在某些文档(http://docs.oracle.com/cd/b28359_01/java.111/b31224/oraperf.htm)中看到了我可以使用 sendBatch()
或 executeBatch()
来做到这一点。我对两种方法之间的差异有些困惑,或者为什么我会选择另一个方法。也许我只是错过了一些读物。
是否有人可以清楚地解释差异是什么,以及如何决定何时应该使用一种方法而不是另一种方法?
sendBatch()
是批处理的甲骨文版本。Oracle说,使用它更好地适合Oracle并提供更高的性能。Oracle批处理仅支持PreparedStatement
。
executeBatch()
是JDBC标准版本。如果您的程序应为JDBC,则使用该方法进行批处理。它的性能可能较低(根据Oracle文档),但是您的代码与其他JDBC驱动程序兼容。