一、前言
目前主流的三种数据库主键,分别是:
数据库自增id字段:适合单表单库时应用。
UUID:UUID是由开放软件基金会(OSF)定义的,UUID是一个由4个连字号(-)将32个字节长的字符串分隔后生成的字符串,总共36个字节长。比如:550e8400-e29b-41d4-a716-446655440000。其中GUID是微软对UUID这个标准的实现。UUID还有其它各种实现,不止GUID一种。
snowflake算法(即雪花算法):
二、各个方案比较
(1)数据库本身的自增id(通常可以是int或者long类型):int支持-2^31——2^31-1,即-2147483648——2147483647,即21亿条数据库记录,对于一般系统足够用了。对于超大型分布系统,可以用long类型,它支持-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)。
三、最终选型:雪花算法
四、实战中的坑