编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 名词解释 / UUID

UUID

UUID(Universally Unique Identifier,通用唯一识别码)是一个 128 位的标识符,用来在没有中央协调的情况下生成几乎不会重复的 ID。它通常写成 32 个十六进制字符、按 8-4-4-4-12 分成五段,例如 550e8400-e29b-41d4-a716-446655440000。GUID(Globally Unique Identifier)是微软 / Windows 生态里的叫法,两者格式和用途基本等价,可以视为同一个东西。

UUID 有多个版本,靠不同机制来避免重复:

使用中要注意几点:UUID 并非数学上绝对唯一,只是碰撞概率小到可以忽略;它不是加密数据,能被外人看到,不能当密码或密钥;用随机的 v4 做数据库主键时,因为无序会打乱索引局部性、影响写入性能,这也是 v7 出现的原因。

常见问题

UUID 和 GUID 是一回事吗?
基本是。GUID 是微软 / Windows 生态的叫法,UUID 是 RFC 标准里的正式术语,二者格式(128 位、8-4-4-4-12 十六进制)和用途一致,多数场景可以互换理解。
UUID 真的能保证永不重复吗?
不是数学上的绝对保证,而是概率保证。以最常用的 v4 为例,它有 122 位随机,产生碰撞的概率低到可以忽略,实际使用中几乎不用担心。
用 UUID 当数据库主键该选哪个版本?
如果在意写入性能,优先选 v7 而不是 v4。v4 完全随机、插入无序,会降低 B+ 树索引的局部性;v7 带时间戳且整体有序,插入更接近顺序追加,索引更友好。

相关工具

相关名词