我现在大概有1亿的数据,导出的dmp有20~30G之间,这只是试转换的数据量,正式转换数据量还会更大,我现在知道两种解决方法,一个是建表的方式: create table ... as select ...;一个是直接插入的方法:INSERT /*+ APPEND */ INTO target_tablename select .....;这两种方式那种好?这两种方法转移数据时不会用到SGA里数据缓冲区和事物处理的回滚段,但是我试验(使用的是第二种方法)的结果却是用到了回滚段,这是怎么回事?请各位高手指点指点。

解决方案 »

  1.   

    insert /*+ append parallel(target_tablename 4)*/ into ...
    这个可能会提高点速度,但数据量很大,时间自然需要很长也是正常的!!
      

  2.   

    直接插入的方式:insert /*+ append parallel(target_tablename 4)*/ into ...对回滚段是否占用?还是我用的方法不对?对我要求这样的大量数据一次性提交是否可以?
      

  3.   

    我做过几百万条数据的append parallel,速度还可以,比多次提交还快,我不知道上亿的数据量是否还是这样。
    回滚段是肯定会用的