你程序中取的数据和SQL*LOADER导入的是同一个文件吗?

解决方案 »

  1.   

    理论上用SQL*LOADER要快些.至于效率低的原因,可能是运算量太大的原因.如果数据量不是太大,用程序做插入也不是不可,只是IO操作多了些.
      

  2.   

    往表中插入大量数据时,最好将索引取消,在数据插入完成以后再将索引重建。当然数据的唯一性得你自己保证。所以要想提高SQL*LOADER的效率的话,删除唯一索引,用直接路径存取方式进行Lode,完成后再重建索引。只不过当数据量非常大的情况下,重建索引也很花时间。按道理SQL*Loader的效率是非常高的。
      

  3.   

    很奇怪会有这种问题,按理说sql*loader应该是最快的,这个东西是直接写入数据文件的,同意楼上几位的方法,删除索引,导入后在重建!据我所知,sql*loader写入数据的时候并不检查数据的唯一性,所以有时会出现在唯一约束的字段里写入重复记录的情况,
      

  4.   

    因为涉及到实时性及数据的唯一性,在入库的时候不能删出索引,程序的功能本就是剔重入库,所以只能采用常规路径。SQL*LOADDER相对SQL语句来说,还多了.bad,.dis,.log等几个文件。在命令行中或则在.ctl控制文件中需要怎样配置参数可以提高数据入库的效率?还有在命令行中有一个commit选项我设置为默认值=false,但是在入库过程中如果出现异常,还是有部分数据导入了数据库,请问怎样解决????
    mashansj(风影) :是同一个文件