数据库设计主键类型的选择
数据库设计表时,主键(主属性)的数据类型选择bigint还是GUID呢
在做数据库设计时,数据库主键以及其类型的选择犹为重要。通常数据库主键字段的类型常被设计成 int(bigint)或 GUID 或自定义的格式类型,学习总结主键数据类型的选择。
1 int (bigint)类型 (推荐)
(1)简洁易懂
(2)易于排序,分页等操作处理
(3)可以通过设置sequence设置自增
(4)sequence主从表关联速度较快
2 GUID 类型
(1)主要考虑到对数据有强烈的唯一性要求,严格避免数据重复。
(2)易于定位、数据迁移( int 类型,容易造成混乱)
(3)不存在重复id问题,数据合并时非常简单。
缺点:关联速度比int慢、无法
3 自定义(char、nvarchar)
(1)易于理解、可赋予id值一定意义
(2)常用于分类表CD,如:文章类型,article_type_cd nvarchar(50) ,NEWS--新闻,POST--随笔,COURSE--教程
总结
(1)个人推荐优先考虑方案1。
(2)如果经常合并数据或脱机输入数据联机上传等,推荐方案2。
(3)对于类型相关数据表,可选方案3
参考:
http://blog.sina.com.cn/s/blog_5f39af320102wsfs.html
https://www.cnblogs.com/wisdo/p/4841961.html