我们如何将大约200万行的数据插入到我们有多个索引的oracle数据库表中? 我知道一个选项是禁用索引然后插入数据。任何人都可以告诉我其他选项是什么?
答案 0 :(得分:1)
按索引键顺序预分类数据的批量加载
答案 1 :(得分:1)
检查SQL*Loader(特别是关于performance optimization的段落):它是Oracle的标准批量加载实用程序,一旦您知道如何使用它就会很好(就像Oracle一样)。
答案 2 :(得分:1)
有许多技巧可以加入插入,下面我写了一些
答案 3 :(得分:0)
不确定如何插入记录;如果你可以的话;将数据插入较小的块中。根据我的经验,50组20k记录通常比1 x 1000000快。
确保数据库文件足够大,然后才能在插入过程中开始保存数据库增长...
答案 4 :(得分:0)
如果您确定数据,除索引外,您可以禁用参照和约束检查。您还可以降低事务隔离级别。
但是,所有这些选项都需要付出代价。每个选项都会增加您拥有损坏数据的风险,因为您可能最终得到零FK等。
答案 5 :(得分:0)
作为另一种选择,可以使用oracle高级和更快的数据泵(expdp,impdp)实用程序可用性10 G向前。尽管如此,Oracle仍然支持旧的导出/导入(exp,imp)。
Oracle为我们提供了许多数据加载选择,比某些选择更快: