日期:2014-05-17  浏览次数:21151 次

oracle表设计,表中已经有一个可以用于主键的字段,有必要增加一个序列字段作为主键
就是oracle已经有一个字段可以用于主键

需要加一个序列字段作为主键,而不用业务字段做主键吗

还有一些关系表,是2个字段保证唯一,需要加一个序列字段作为主键吗,还是用这2个业务字段组合做主键好

------解决方案--------------------
你业务需要用到序列字段么?用不着就不用搞这多余的了
------解决方案--------------------
必须是用业务字段,这样查询的时候可以用到主键索引,速度会更快。
------解决方案--------------------
建议每张表建一个与业务无关的序列主键,表之间通过这个主键关联。
------解决方案--------------------
引用:
建议每张表建一个与业务无关的序列主键,表之间通过这个主键关联。


楼主已经说了,表里面已经有主键了。
------解决方案--------------------
引用:
必须是用业务字段,这样查询的时候可以用到主键索引,速度会更快。


这样的话 也不用再添加主键了呀  单独为另一个字段建个索引就可以了 效率同样可以
------解决方案--------------------
引用:
Quote: 引用:

必须是用业务字段,这样查询的时候可以用到主键索引,速度会更快。


这样的话 也不用再添加主键了呀  单独为另一个字段建个索引就可以了 效率同样可以


第一,你在查询的时候应该不大可能会用到序列去查询。这样的话,序列的作用不很明显了。
第二,用序列做主键,会增加开销,尤其是在数据量很大的表。

平衡各个方面的收益和缺陷,比如系统是否有足够的资源,如有必要增加的话,可以增加。