关于主键的选择

heyixiang 2006-04-16 11:58:30
要保留记录的历史属性,所以表中同一个ID会有多条记录,每条记录插进来的时间都不同,现在是用ID+TIME做联合主键。

还有一种方法就是再加一个SEQ字段,用ID+SEQ做联合主键,第一条记录的SEQ为1,以后每插一条记录对应的SEQ就加1,TIME依然有个字段记录下来,只是不作为主键,不知道这两种方法那种好。

想听听各位高人在平时数据库涉及的经验。
...全文
119 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiaoxiao1984 2006-04-19
呵呵,感觉上第二种好
  • 打赏
  • 举报
回复
heyixiang 2006-04-19
没有其他人发表一下建议吗?
  • 打赏
  • 举报
回复
zlz_212 2006-04-19
第二种:可以给给这俩列加一个Unique
  • 打赏
  • 举报
回复
icedut 2006-04-17
我也选第二种

我不喜欢用time做主键
如果索引列的空间用得太多,应该会影响效率的

time类型查询起来,我认为没有number的方便
  • 打赏
  • 举报
回复
dp_555 2006-04-17
友情接分。。。
  • 打赏
  • 举报
回复
heyixiang 2006-04-17
我也是选第二种,目前系统采用的是第一种,所以我想改过来,但是要改的话必须说服其它的同事,改过来到底有什么好处?

目前第一种方法在使用中并不存在任何问题,因为目前系统中还没有涉及到历史信息的相关查询,改过来的话需要花一定的工作量,谁都不愿意做些麻烦的事情,只是我觉得如果现在改好后可以方便以后的开发,不至于1、2年后才发现以前的模型不支持新的需求。


大家帮忙顶顶,谢谢了。
  • 打赏
  • 举报
回复
zlz_212 2006-04-17
帮顶吧

我会选择第二种
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
加入

1.6w+

社区成员

Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
申请成为版主
帖子事件
创建了帖子
2006-04-16 11:58
社区公告
暂无公告