数据库表中主键的设置
2016-10-30 11:31 IT好朋友 阅读(8128) 评论(0) 编辑 收藏 举报主键的设置方法有3种:
一种是设置自增长主键,第二种是采用业务主键,第三种是生成唯一序列(使用uuid/guid);
如何选择主键设置方式:
1.主键的使用目的:
a.为了保证数据查找唯一;
b.提高存储效率和索引效率。
2.使用自增主键的场景:
a:表中找不出3个以内字段可以表示的业务主键
b:没有集中大量的插入操作
c:不使用自增id作为外键(即id变化不影响系统逻辑和功能)
此外自增主键的规律很明显,为了不让别人轻易的采集数据,同时符合以上条件,则优先选择自增主键;
3.使用业务主键做id:
a.如果你设计的表上存在非重复数据列,且常以该列检索数据,或该列还关联其他表的外键,譬如学号、会员卡号、身份证号这些,可以用来做为主键,主键在默认设置下 是聚集索引,这样检索学号、卡号这些效率上就会比较高。
4.使用生成唯一的序列
a.如果不满足使用自增的要求,则建议优先使用字符主键。类似网站数据库,可以采用uuid、guid这类无规则字符做主键。因为字符主键查询速度不比自增主键慢。
b.考虑自增主键的弊端。很多表的ID会被其他表引用为外键,而且自增主键弊端是,用DELETE删除后,不会从新接着自增,而是接着删除前的ID自增;在多数据库迁移 下,自增则会很繁琐,需要另外做联合主键才能保证数据的唯一性。