主键为整型数据库设计。
在最初传统数据库设计上,单表的主键一般都设计为自动增长的整型,数据库自己维护主键不重复,这种数据作为单库单表是没问题的。
但是随着数据规模越来越大,数据库的设计变成了分布式,负载,多库,分表,云数据,非关系型数据等等,主键的唯一性和数据的迁移性要求,主键是整型已经很难满足这种需求了,目前最常用的就是主键为guid型(全球唯一码)。
也就是主键在生成时是自满足的,他不需要关注其他主键,自己就可以保证自己是唯一的(有重复概率但可以不考虑)。
但是,主键为整型在设计上也不是完全要丢掉的,本身主键为整型是有自己的优势的,首先整型主键是有意义的,而不像guid型没有意义,然后整型数据存储数据很小,而且做统计分析时计算消耗会远小于guid类型。
那么如果使用整型作为主键,那么就需要有一个专门的程序生成主键,比如如果是多线程插入,那么应该是所有数据在插入时,需要把整型主键都分配好再插入,而不是每条数据插入后再决定。
或者可以在设计时同时加入guid类型和整型类型,这么设计还是比较好的。