我有一个Java程序,用于在Oracle数据库中插入大量(750.000)记录。我正在使用OJDBC6库和OCI客户端。要写入的表包含330列,其中8列出现在一个或多个索引中。
在尝试了两种方法之后,我仍然在努力解决一些性能问题。
但是,当使用像Informatica PowerCenter这样的ETL工具将相同的数据映射到相同的表时,它只需要几分钟。我知道达到这个时间可能是一厢情愿的想法,但我怀疑是否无法获得任何表现。
有没有人知道这个行动的合理时机,以及如何实现这些行动?感谢任何帮助,非常感谢提前!
(一个相关的问题:我也必须更新很多记录。最有效的方法是:跟踪已更改的列并创建仅包含这些列的依赖于记录的预准备语句;或者总是更新所有列,从而重用相同的预处理语句?)
答案 0 :(得分:0)
要尝试的另一件事是删除索引,插入数据,然后重新加载索引。 Java不是那么容易,但足够简单。
答案 1 :(得分:0)
您可以在Java上使用ThreadGroup http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/ThreadGroup.html
)