程序中,查询检索出几千万条数据,并且把这些数据登录到oracle数据库表中。
因为数据量比较大,请教一下,有什么高效率的登陆方法。

解决方案 »

  1.   


    采用不写日志及使用Hint提示减少数据操作的时间。建议方案是先修改表为不写日志: 
    sql> alter   table   table_name   NOLOGGING; 插入数据:INSERT   /*+Append*/   INTO     tab1 
          SELECT   *   FROM   tab2;插入完数据后,再修改表写日志: 
    sql> alter   table   table_name   LOGGING; 这里的区别就在于如果插入数据的同时又写日志,尤其是大数据量的insert操作,需要耗费较长的时间。
    Oracle 插入大量数据
    http://blog.csdn.net/tianlesoftware/archive/2009/10/29/4745144.aspx
      

  2.   

    还可以使用建新表的方式:
    create table target_tablename tablespace 
    target_tablespace_name nologging 
    pctfree 10 pctused 60 
    storage(initial 5M next 5M minextents 1 
    maxextents unlimited pctincrease 0)
    as select * from username.source_tablename where 条件;
      

  3.   

    楼上的方法太离谱了。你是不知道在oracle中随便做ddl的影响有多大。