【问题标题】:Should I use UUID everywhere or is it alright to mix with usual IDs?我应该在任何地方使用 UUID 还是可以与常用 ID 混合使用?
【发布时间】:2016-03-25 01:14:59
【问题描述】:

我已选择使用 UUID 作为 DB 中所有表的主键。但是我仍然有 Django 默认表,如 Groups、Permissions、Django_admin_log 等。我应该覆盖它们以创建 pk UUID 还是应该这样保留它?
保留它通常的整数当然更简单,但我觉得在数据库中混合通常的 id 和 UUID 至少是令人困惑的。我没有明确需要重写它们以使用 UUID,但我仍然无法得出结论。

【问题讨论】:

  • 我认为混合它们没有任何问题。在某些情况下,自动递增的整数更有意义,而在某些情况下,UUID 更有意义。特别是如果所有整数 ID 条目只存在于默认的 Django 表中,我会说不用担心。

标签: django database-design django-models primary-key uuid


【解决方案1】:

UUID 比串行整数有更多的存储开销。出于这个原因,我建议仅在对它们有普遍好处的情况下使用它们。您没有指定您正在使用哪个数据库,但您最终可能会将其他列撞到扩展存储(并因此强制隐式连接)。

如果您的表相当窄,并且您不必查询 id 范围,那么差别不大。

【讨论】:

    猜你喜欢
    • 2019-06-13
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多