在Oracle中运行批处理语句:sendBatch()vs executeBatch()

时间:2014-01-31 16:46:47

标签: java oracle jdbc bulkinsert batch-updates

我正在编写Java代码以在Oracle数据库中执行一批insert语句。我在一些文档(http://docs.oracle.com/cd/B28359_01/java.111/b31224/oraperf.htm)中看到过,我可以使用sendBatch()executeBatch()来执行此操作。我对这两种方法之间的差异,或者为什么我会选择另一种方法有点困惑。也许我只是错过了我的阅读内容。

有没有人可以清楚地解释这些差异是什么,以及我如何决定何时应该使用一种方法而不是另一种方法呢?

1 个答案:

答案 0 :(得分:2)

sendBatch()是批处理的oracle版本。 Oracle表示使用它更适合oracle并提供更高的性能。 Oracle批处理仅支持PreparedStatement

executeBatch()是jdbc标准版本。如果您的程序应该符合jdbc,请使用该方法进行批处理。它的性能可能较低(根据oracle文档),但代码与其他jdbc驱动程序兼容。