作为数据库主键的 UUID
探讨将 UUID 用作主键的利弊,以及 v4 与 v7 的取舍。
优点
可以在应用端预先生成 ID,即使合并多个 DB·分片也不会冲突,而且不会像顺序整数那样暴露记录数量。
v4 的缺点
随机的 v4 会被随机地插入索引,可能引发页分裂和缓存低效。在写入频繁的表中,可能导致性能下降。
推荐 v7
v7 按时间顺序递增,会顺序插入到索引末尾,从而缓解 v4 的缺点。新设计的表在选择主键时,请优先考虑 v7。
探讨将 UUID 用作主键的利弊,以及 v4 与 v7 的取舍。
可以在应用端预先生成 ID,即使合并多个 DB·分片也不会冲突,而且不会像顺序整数那样暴露记录数量。
随机的 v4 会被随机地插入索引,可能引发页分裂和缓存低效。在写入频繁的表中,可能导致性能下降。
v7 按时间顺序递增,会顺序插入到索引末尾,从而缓解 v4 的缺点。新设计的表在选择主键时,请优先考虑 v7。