UUID v7 生成器
生成第 7 版 UUID 唯一标识符。它内含时间戳,因此天然可按时间顺序排序 —— 非常适合用作数据库主键。计算基于浏览器的加密 API,不会向服务器发送任何内容。
结果
工作原理
与完全随机的 UUID v4 不同,UUID v7 将标识符的前 48 位用于以毫秒为单位的 Unix 时间戳,后面跟着 74 位加密安全的随机位。结果是:相隔几秒生成的两个 UUID v7 在字典序上仍然相近,与完全分散的 UUID v4 相比,这提升了数据库索引(B-tree)的插入性能。
为什么主键更推荐 UUID v7 而不是 UUID v4?
随机的 UUID v4 在大批量插入时会导致 B-tree 索引严重碎片化,因为每个新标识符都会落在树中不可预测的位置。而 UUID v7 与传统的自增标识符一样随时间递增,同时仍保留了可在客户端生成、无需与数据库协调的优势。
能从 UUID v7 还原出确切的创建时间吗?
可以提取前 48 位中编码的毫秒级时间戳,从而得到标识符生成时的大致日期和时间(精确到毫秒)。如果这一信息在您的场景中比较敏感,请选择经典的 UUID v4,它不会泄露任何时间数据。
100% 本地处理:每个标识符都在您的浏览器中通过 crypto.getRandomValues 计算,不发起任何网络请求。