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

yuji821 2013-06-04 08:52:14
就是oracle已经有一个字段可以用于主键

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

还有一些关系表,是2个字段保证唯一,需要加一个序列字段作为主键吗,还是用这2个业务字段组合做主键好
...全文
401 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
basunio 2013-06-07
  • 打赏
  • 举报
回复
引用 5 楼 HJ_daxian 的回复:
[quote=引用 2 楼 basunio 的回复:] 必须是用业务字段,这样查询的时候可以用到主键索引,速度会更快。
这样的话 也不用再添加主键了呀 单独为另一个字段建个索引就可以了 效率同样可以[/quote] 第一,你在查询的时候应该不大可能会用到序列去查询。这样的话,序列的作用不很明显了。 第二,用序列做主键,会增加开销,尤其是在数据量很大的表。 平衡各个方面的收益和缺陷,比如系统是否有足够的资源,如有必要增加的话,可以增加。
pzh313 2013-06-07
  • 打赏
  • 举报
回复
如果有业务需求,可以考虑,否则的话,简单最好。
  • 打赏
  • 举报
回复
引用 2 楼 basunio 的回复:
必须是用业务字段,这样查询的时候可以用到主键索引,速度会更快。
这样的话 也不用再添加主键了呀 单独为另一个字段建个索引就可以了 效率同样可以
u010412956 2013-06-05
  • 打赏
  • 举报
回复
引用 3 楼 andyguan01_2 的回复:
建议每张表建一个与业务无关的序列主键,表之间通过这个主键关联。
楼主已经说了,表里面已经有主键了。
andyguan01_2 2013-06-05
  • 打赏
  • 举报
回复
建议每张表建一个与业务无关的序列主键,表之间通过这个主键关联。
basunio 2013-06-05
  • 打赏
  • 举报
回复
必须是用业务字段,这样查询的时候可以用到主键索引,速度会更快。
u010412956 2013-06-04
  • 打赏
  • 举报
回复
你业务需要用到序列字段么?用不着就不用搞这多余的了

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧