插入Oracle数据库需要多长时间?

时间:2017-03-07 14:25:23

标签: java oracle

我将数据插入到Oracle的两个表中.table_1行大小为912 Byte。table_2行大小为335 Byte。

对于table_1,我将插入263520000行数据。因此,table_1的大小为223.8Gb。

对于table_2,我将插入27816000行数据。因此,table_2的大小为8.678Gb。

我使用两个Java进程,没有100个进程的进程。所以,我想知道将所有数据插入数据库需要多长时间?

3 个答案:

答案 0 :(得分:1)

为了让您了解使用正确的工具和正确的算法(即基于集合;直接路径;并行性)完成可以 ben完成的内容,我只加载了超过7亿行(跨越三个表),大约1 TB的文件,大约10分钟。

答案 1 :(得分:0)

已发布的基准可能有助于为您提供球场图。

Here's one article可能相关。

请注意,该文章引用了各种技术,包括批量加载工具。我强烈建议您调查使用此类工具。一个简单的Java程序

for each record
    read data
    write to database

可能明显慢于此类工具,尤其是因为您将每次插入使用一个事务。

答案 2 :(得分:0)

正如评论中已经提到的,这在很大程度上取决于您的系统。有索引吗?你是直接路径负载吗?你使用什么样的存储,具体来说,你是连接存储还是SAN,是SAN旋转磁盘还是固态?为了得到你的问题的答案,同样如上所述,你必须测试满载才能得到答案,或者用一部分数据测试负载并推断出来。

如果你需要加载数百万行的100个,那么使用Java可能不是最好的解决方案吗?存在其他数据导入选项以加载比java更好的数据。 SQL loader和datapump命名一对。