我设计的一个数据库中大量的表中都把主键设成自增长。
问题一:难道我真的要每张表都对应一个自增列和触发器吗??痛苦中。
问题二:oracle设置自增长对性能是否有影响?怎样修改好点?
问题三:设置触发器有什么优化的解决方案吗?
小小虾米,先谢谢各位了。

解决方案 »

  1.   

    兄弟,等你用到知道为什么序列(SEQUENCE)比触发器和自增长好的时候,你就不是虾米了,呵呵,
    序列就是性能好,,,,,
    触发器的话,可以参考我的博客的http://blog.csdn.net/java3344520/archive/2009/11/30/4907591.aspx
      

  2.   

    如果你只是每个表需要一个主键。这个主键只要保证唯一,不关心是不是每次加一。
    也可以使用GUID函数解决。
    取得GUID的函数SYS_GUID()。得到一个随机的16进制序列,保证唯一性。
      

  3.   

    使用oracle自身的自增,经常会遇到报ID重复错误。建议使用UUID
      

  4.   

    主键自增长用sequence就行了。为什么还要触发器
      

  5.   

    创建是会创建了,但是不方便统一管理,所采用java代码逻辑控制。专门用一张表进行管理每一个表的主键