加载中...

UUID(Universally Unique Identifier,通用唯一标识符)是一种 128 位的标识符标准,最初源自 DCE 分布式计算环境,由 IETF 的 RFC 4122 规范化(后被 RFC 9562 更新)。其文本形式为 32 个十六进制字符按 8-4-4-4-12 分组,如 550e8400-e29b-41d4-a716-446655440000。微软生态中的 GUID 是同一概念。
常用版本包括:v1 基于时间戳与 MAC 地址;v4 完全随机,是目前使用最广的版本;v5 由命名空间与名称经 SHA-1 派生,同输入恒得同 ID;较新的 v7 采用 Unix 毫秒时间戳前缀加随机数,兼具唯一性与时间有序性。
UUID 无需中心发号器即可在任意节点独立生成,v4 的随机空间巨大,实际应用中碰撞概率可忽略不计。
作为数据库主键时,随机 UUID 会导致 B+ 树索引写入位置随机、页分裂频繁,且 16 字节比 bigint 占用更多空间;时间有序的 UUIDv7 或雪花算法类方案能明显缓解该问题。

登录 后参与讨论
暂无讨论,来发表第一条评论吧