你好,我想请问下,数据库主键应该设置成怎么样的类型比较好,int/bigInt/Guid/String还是其它的类型,但是整数的好处是排序比较方便,意义性好,而且IO跟查询速度都有优势,bigInt为64位整数,能表示的数据够多,但是好像很多的系统都没有用bigInt这个类型,有些还用guid,我想知道为什么,应该有什么样的设计原则!还有就是,我看过有些书籍上提到一般不会在一个数据库里面或是一个表中存放过多的记录,到最后可能会分表分库,那么这样的话,分表如果使用int自增的话,int会从新开始递增,外键关联表的记录处理上会麻烦一点,分库的话存在同样的问题,而且分库的话,事务处理上也存在一些小问题在上面,包把查询也会很麻烦!(如果分表分库的情况,如果使用自增主键的话可行吗?有没有这种用法,一般怎么处理?)请做过大型数据库设计的朋友给一些帮助!在这里感谢了!
希望知道的朋友尽可能详细些,谢谢啦!
最好是GUID,GUID分表、并表都完全没问题,它可被视作永远不会重复。
数字虽然可以记录顺序,但是一般来说有意义的信息都有一个发布时间字段,这个就可以完成排序,比单纯数字更有用。
这种级别大概都没有数据库吧。都是自己开发的分布式存储系统。