首页 新闻 会员 周边 捐助

自增ID与联合主键

0
悬赏园豆:100 [待解决问题]

在较为复杂的业务场景中存在联合主键,在db设计的时候是采用联合主键还是使用ID自增比较好?请各位大神指点

问题补充:

在应用程序实现上自增ID会方便很多,在数据库执行效率及业务理解层面怎么理解??

从头在来的主页 从头在来 | 初学一级 | 园豆:86
提问于:2015-09-17 10:02
< >
分享
所有回答(7)
0

我觉得联合主键完全可以不用,设计数据库时基本约定就是有自增ID主键,

吴瑞祥 | 园豆:29449 (高人七级) | 2015-09-17 10:09
0

ID自增完全够用了,而且方便,联合主键不容易维护,操作也不方便。

✎﹏ℳ๓₯㎕ღ | 园豆:1499 (小虾三级) | 2015-09-17 10:21
0

我觉得 从业务上讲 如果有联合主键的必要的话 还是联合主键吧 因为可以保证联合主键对应的数据没有重复 如果用自增的话可能会有重复的情况。比如 本来是一个表的字段A和字段B是联合主键 那么数据可以是 1,1;1,2;1,3.但是如果设计自增ID的话有可能出现1,1;1,2;1,1;否则的话有设计自增ID时还需要判断那2个字段是否重复。当然如果数据不在乎重复的情况下就可以设计自增ID

念念啊 | 园豆:415 (菜鸟二级) | 2015-09-17 10:30
0

从来不用联合主键,也基本不用自增ID的飘过。

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-09-17 10:55

卧槽 自增都不用 大神啊

支持(0) 反对(0) ✎﹏ℳ๓₯㎕ღ | 园豆:1499 (小虾三级) | 2015-09-17 10:58

@MrLenon: 自增要在代码中及后期功能中解决好多问题,不用自增代码简单多了。

比如:

1、自增ID,你保存后还得取一次数据,否则你不知道ID是多少,

在制作父子表UI的时候,显得很麻烦。

2、当你需要数据迁移的时候,无法使用SQL Server直接进行,你必须自己写代码,维护表间关系。

这两个是我不使用自增ID的主要原因。

支持(1) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2015-09-17 11:07
0

用GUID吧,如果是sqlserver的话。其实还是看你业务情况怎么走。并且所谓的自增,你考虑一下,你主键是否和业务紧密性了。

neverlost | 园豆:570 (小虾三级) | 2015-09-17 13:17
0

GUID,便于数据的移植,已经大数据的需要.

INT64,基本上够用了. 2的63-1已经够大了.性能好.数据移植不方便.

当事情绝对化的时候,人就死了

[秦时明月] | 园豆:738 (小虾三级) | 2015-09-22 10:26
0

个人觉得用一个guid来作为主键即可,这样在数据处理会变得方便

JackWang-CUMT | 园豆:2866 (老鸟四级) | 2015-09-22 14:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册