AG UUID

UUID 与自增整数主键对比

对比在数据库主键中使用 UUID 还是自增整数。

自增整数

短小、快速,索引局部性好。但多个数据库难以合并,序号会暴露记录总数,应用程序也难以提前生成 ID 或在分布式环境中生成。

UUID

在分布式环境中各节点可以互不冲突地各自生成,且值难以预测。代价是 128 位比整数大,随机的 v4 会分散插入索引,可能拖慢写入性能。

选择标准

如果是单一数据库的内部系统,整数更简单高效。如果需要分布式系统、公开 API 或多来源合并,则 UUID 更有利,尤其是按时间排序的 v7。同时保留内部整数 PK 和对外暴露的 UUID 也是常见的折中方案。