BaseToolbox LogoBaseToolbox
Blog

© 2025 基础工具箱。保留所有权利。

隐私政策关于联系我们

UUID v4 和 UUID v7 有什么区别?应该生成哪一种

发布于 2026年6月25日

UUID v4 和 UUID v7 都常用,但适合的场景不一样。

UUID v4 是随机 ID;UUID v7 包含 Unix 时间戳相关信息,更适合按时间排序。

UUID v4 适合哪里

需要这些特性时,可以用 UUID v4:

  • 随机标识符
  • 前端或客户端直接生成 ID
  • 不希望 ID 本身带创建时间
  • 需要兼容较老系统

缺点是排序。随机 ID 不能自然按创建时间排列,对某些数据库索引也不够友好。

UUID v7 适合哪里

需要这些特性时,可以考虑 UUID v7:

  • ID 大致按创建时间排序
  • 比随机 ID 更利于数据库局部性
  • 分布式系统里不依赖中心序列
  • 日志、事件流需要时间顺序

因为 UUID v7 含有时间信息,如果不能暴露创建时间,就不要随便用在公开场景。

数据库和隐私取舍

UUID v4 很适合作为不容易猜的公开标识符。它不会暴露记录创建时间,但随机插入顺序对大型数据库索引不一定友好。

UUID v7 保留了 UUID 的分布式生成能力,同时让新 ID 大致按时间排序。这对索引、事件表、审计日志、追加写入系统更友好。代价是 ID 本身带有时间信息;如果是用户账户、私密文档或低频业务活动,这个时间线索可能不适合暴露。

| 场景 | 更适合作为默认值 | | ---------------- | ------------------------------ | | 公开分享 ID | UUID v4 | | 事件日志 | UUID v7 | | 大规模数据库主键 | 如果技术栈支持,可考虑 UUID v7 | | 老系统集成 | UUID v4 | | 不能暴露创建时间 | UUID v4 |

在已有系统里切换到 UUID v7 前,要先确认数据库支持、排序行为,以及下游服务是否默认认为 UUID 都是 v4 随机值。

简短结论

想要简单随机、兼容性强,用 UUID v4;想要可排序、适合数据库和事件流,用 UUID v7。公开 ID 是否能泄露创建时间,是选择 v7 前必须考虑的问题。

参考资料:

  • RFC 9562:UUIDs

想直接试试看?

用我们的免费在线工具,把文章里的方法马上用起来。

生成 UUID