关于主键的选择

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

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

想听听各位高人在平时数据库涉及的经验。
...全文
157 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
帮顶吧

我会选择第二种

17,140

社区成员

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

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