如何提高 oralce imp的速度(技术转载)

传统的imp命令在导入时,如果只是仅处理数据,千万条数据对Oracle的处理来说根本就是”毛毛雨“啦,关键是在它导入了数据后,而要对每个表重新做一次索引。

一边导一边索引,一边一条条commit,就好比你用一个循环来insert 1万条数据和你改用statemenet.addBatch(query);的效率的对比一样,一定是后者更快更高效。

因此,在碰到这种情况下我们建议对imp导入命令做下面的折分:

  • 分段式提交
  • 设置缓冲
  • 先导数据再导索引

这样,我们原来的imp命令就变成下面这样的样子了:

[plain]  view plain  copy
  1. imp user2/pwd fromuser=user1 touser=user2 file=file commit=y feedback=10000 buffer=10240000 ignore=y rows=y indexes=n  
  2.   
  3. imp user2/pwd fromuser=user1 touser=user2 file=file commit=y feedback=10000 buffer=10240000 ignore=y rows=n indexes=y  

看到没有,先导数据rows=y indexes=n,再导索引rows=n indexes=y

你可能感兴趣的:(如何提高 oralce imp的速度(技术转载))