在数据库设计中,如果本表数据量比较大,我加自动增长列是否对性能影响很大?

解决方案 »

  1.   

    2点
    1.oracle中无自动增长类型。
    2.是否执行缓慢与你的数据类型无关
      

  2.   

    哦,我自己加的sequence 列,看有些数据库优化里说加增长列影响性能存大数据量时。可能是说的其他的数据库吧,oracle中无自动增长类型但有sequence!差不多吧!
      

  3.   

    sequence + trigger
    示例:
    --建表
    create table bbb(a number(10),b varchar2(20))--建序列
    create sequence test_aa
    minvalue 1
    maxvalue 999999999999999999999999999
    start with 1
    increment by 1
    nocache;
    --建trigger
     CREATE   OR   REPLACE   TRIGGER   USERADD   
      BEFORE   INSERT   ON   bbb   
      FOR   EACH   ROW   
      BEGIN   
              SELECT   test_aa.NEXTVAL   INTO   :NEW.A   FROM   DUAL;   
      END;
      
    --插入数据,多次执行
      insert into bbb(b) values('test');
    --查询
      select * from bbb
    SQL> select * from bbb
      2  ;         A B
    ---------- ----------------------------------------
             1 test
             2 test
             3 test
             4 test
             5 test
             6 test
             7 test