首页
开源软件
问答
博客
翻译
资讯
码云
众包
活动
专区
源创会
求职/招聘
高手问答
开源访谈
周刊
公司开源导航页
登录
注册
首页
资讯
开源长廊
专区
问答
活动
软件库
发现
博客
码云
首页
资讯
开源长廊
专区
问答
活动
软件库
发现
博客
码云
OSCHINA 小程序 ——
关注技术领域的头条文章
聚合全网技术文章,根据你的阅读喜好进行个性推荐
登录
注册
开源问答
开源问答
技术问答
正文
mysql逻辑主键和业务主键设计
低调的浮躁
发布于 2016/05/16 11:24
阅读 2K+
收藏
2
答案
3
MySQL
不知道大家在设计表的时候怎么设计的,假如有个用户信息表,有证件号码,证件类型可以作为联合主键,那自增id主键还需不需要设计 ,是mysql
收藏 (
2
)
分享
微博
QQ
微信
举报
加载中
最多投票
最新
0
fenggf
2016/05/16 12:58
最好用自增主键,证件号码和证件类型用唯一索引之类的就可以了
评论 (
1
)
引用此答案
举报
低调的浮躁
2016/05/16 14:01
我准备用多个字段组合作uuid,这样就只维护一个字段了,也利于后期的分库分表
回复
举报
0
learn_more
2016/05/16 13:08
自增主键ID也就是物理主键,这个在数据库关系设计中可要可不要,但是在为了开发的便利,我们系统都会加上的,试想一个键作为key比多个键做联合key,方便很多,比如删除的时候,只要传一个ID就好了。更新也一样。对于逻辑主键,也就是业务上的key,这个其实会根据系统的变化而变化,打个比方,有一个学校的系统存储学生的学号,本来学号可以作为逻辑主键,这样也用了好几年,然后,进入互联网时代,系统变革,把整个系统放在云端,结果多个学校使用,这个时候逻辑主键可能只用学号就不行了,因为不同的学校可能自定义学号会重复!但是如果使用物理主键就不会有这种问题。当然,物理主键一般都会采用 bigint 的自增字段,其实这个有优点也有缺点,优点是索引快,缺点是对多个数据库数据合并的时候你就会发现主键冲突,这是个人的经验。
评论 (
0
)
引用此答案
举报
0
ddatsh
2016/05/16 13:47
用MYSQL 物理主键就用bigint
评论 (
0
)
引用此答案
举报
我要回答
低调的浮躁
最近登录:2019/12/18 20:01
全部
低调的浮躁的其他提问
数据仓库搭建
1 回答
1K+ 阅读
spark统计数据多维度
1 回答
459 阅读
jenkins怎样读取maven release后的最新tag
1 回答
1K+ 阅读
spring-boot注入dubbo的bean单元测试有问题
0 回答
5K+ 阅读
java uuid 128位
2 回答 (已采纳)
1K+ 阅读
登录后可查看更多优质内容
使用微信快捷登录
©OSCHINA(OSChina.NET)
工信部
开源软件推进联盟
指定官方社区
深圳市奥思网络科技有限公司版权所有
粤ICP备12009483号
顶部
顶部
用MYSQL 物理主键就用bigint