↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

时间旅行者的主键:UUIDv7 与 Snowflake 的实测 RSS

随机的 UUIDv4 会把 B-tree 索引搅得七零八落:插入位置不可预测,页面在随机处反复分裂,留下一堆半空页。Shaun Thomas 在 100 万行上量了三种主键:随机 UUID 索引 38 MB,叶页填充率 71.53%,碎片率 49.89%;UUIDv7 把毫秒时间戳放在高位,索引 30 MB,填充率 89.98%,零碎片;Snowflake 式 BIGINT 只要 21 MB。单机系统仍该用序列。

发布于 2026-09-10T10:59:48.863468Z · Shaun Thomas · pgEdge 博客
UUID 主键 索引

随机的 UUIDv4 会把 B-tree 索引搅得七零八落:插入位置不可预测,页面在随机处反复分裂,留下一堆半空页。Shaun Thomas 在 100 万行上量了三种主键:随机 UUID 索引 38 MB,叶页填充率 71.53%,碎片率 49.89%;UUIDv7 把毫秒时间戳放在高位,索引 30 MB,填充率 89.98%,零碎片;Snowflake 式 BIGINT 只要 21 MB。单机系统仍该用序列。

随机的 UUIDv4 会把 B-tree 索引搅得七零八落:插入位置不可预测,页面在随机处反复分裂,留下一堆半空页。Shaun Thomas 在 100 万行上量了三种主键:随机 UUID 索引 38 MB,叶页填充率 71.53%,碎片率 49.89%;UUIDv7 把毫秒时间戳放在高位,索引 30 MB,填充率 89.98%,零碎片;Snowflake 式 BIGINT 只要 21 MB。单机系统仍该用序列。

原始来源 ↗

来源记录
  • center.info_item · 68cc393b016182f3 · 2026-10-03T04:08:35.169032Z
  • pgweb.info_item · 68cc393b016182f3 · 2026-10-03T04:08:55.967155Z