背景 主键(主键),用于唯一标识表中的每一条数据。所以,一个合格的主键的最基本要求应该是唯一性。 那怎么保证唯一呢?相信绝大部分开发者在刚入行的时候选择的都是数据库的自增id,因为这是一种非常简单的方式,数据库里配置下就行了。都很明显。 优点如下: 无需编码,数据库自动生成,速度快,按序存放。 数字格式,占用空间小。 缺点如下: 有数量限制。存在用完的风险。 引入旧数据时,可能会存在id重复,或id被重置的问题。 分库分表场景处理过于麻烦。 图形用户界面 GUID,最大唯一标识符,是一种有算法生成的二进制长度为128位的数字标识符,在理想情况下,任何计算机和计算机生成都不会生成两个相同的GUID,所以可以保证唯一性。但也是有优缺点的。分别如下: 优点如下: 分布式场景唯一。 跨合并服务器数据合并方便。 缺点如下: 存储空间占用阻力。 无序,涉及到排序的场景下性能较差。 GUID最大的缺点