大家好,在某个ETL过程中,要往某表插入大量数据(千万条)时,
自增列怎么实现性能比较好?
多谢

解决方案 »

  1.   

    ETL 不知道 。 我有一种方法是用当前maxid +rownum  应该效率还行。
      

  2.   

    用序列来实现自增
    create sequence seq Start with 1 increment by 1;使用 select seq.nextval from dual;
      

  3.   

    用序列,cache设大点,no order
      

  4.   

    这个应该比较好实现的,我过去是这样做的,用SQL Server 做过渡,完成自增,然后在导入到Oracle
      

  5.   

    这种还是直接把seq.nextval写到sql里比较好,触发器是比较影响效率的.
      

  6.   

    个人推荐用Oracle的序列吧,序列毕竟是Oracle自带的针对自动增长数据的解决方案,性能应该能解决你这个问题,但也可能有其他解决方案。
      

  7.   

    用序列,一次提交要是多的话把序列的CACHE弄大一点。
      

  8.   


     用序列  
    建序列的时候把cache 设置大点  
      

  9.   

    我也是要避免使用触发器,
    但是,如果在批量载入时,不是写sql语句,我无法使用seq.nextval啊。
      

  10.   

    用序列吧,oracle没有自增列,都是用序列来实现的
      

  11.   

    我是能实现类似SQL Server中identity(1,1)这样的列,即你插入的时候不管这个列,
    但是,出于性能考虑,我想避免用触发器+Sequence来实现。
    谢谢。