1 自增

**优点:**简单、易于管理,性能好。

**缺点:**在分布式系统中,多个节点可能同时生成主键。如果每个节点独立地使用自增主键,可能会导致主键冲突。

**解决方案:**将数据库分片,每个分片使用不同的自增步长(step)和起始值(offset),以确保不同分片生成的主键不冲突。

2 雪花算法主键(64位)

使用Twitter的雪花算法生成分布式唯一ID。该算法结合了时间戳、机器ID和序列号,确保在分布式环境中的唯一性和有序性。

3 UUID主键(128位)

UUID是一种128位的标识符

UUID的长度较长(通常为36个字符的字符串表示),可能会增加数据库的存储开销和索引大小。

由于UUID是随机生成的,插入操作可能导致索引的频繁重排,影响数据库的写入性能。