数据量比较大的为什么不用sql loader导入

解决方案 »

  1.   

    刚不久看到一个关于sql解析执行的内容。你可以试试
    alter system set cursor_sharing = forceinsert into t1(id,a) values(1,'a');
    insert into t1(id,a) values(2,'a');
    insert into t1(id,a) values(3,'a');
    这些都只是一次解析,可能会快些。。
      

  2.   

    使用append参数才,减少redo生成量INSERT /*+ APPEND NOLOGGING*/
        INTO t1(id,a)
    SELECT 1,'a' FROM DUAL
    UNION ALL
    SELECT 1,'b' FROM DUAL
    ..
    ..
    可以按2楼说的SQL LOADER
    http://blog.csdn.net/fight_angel/article/details/10114699
      

  3.   

    Oracle SQL Loader切身实例 
    http://blog.csdn.net/fight_angel/article/details/10114699
      

  4.   

    我每次insert的字段其实不一样
      

  5.   

    因为我的数据是在程序中根据条件取出来,然后再插入另一个表中,这样sql loader是不是不适用?
      

  6.   

    因为我的数据是在程序中根据条件取出来,然后再插入另一个表中,这样sql loader是不是不适用?
      

  7.   

    1 不要轻易去修改oracle参数,如果你不了解的话。
    2 可以使用 insert /*+append */ into t1......
      

  8.   

    10楼说的对,用 INSERT INTO t1(id,a,b,c,d)  SELECT ......非常方便