首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >主键:对某些表使用UUID,对同一数据库中的其他表使用INT是否是错误的做法?

主键:对某些表使用UUID,对同一数据库中的其他表使用INT是否是错误的做法?
EN

Stack Overflow用户
提问于 2019-12-15 01:55:40
回答 1查看 852关注 0票数 1

我正在postgresql中创建一个标准化良好的数据库,对于几个表,我需要从客户端生成PK的能力。我还在与另一个数据库交互,因此UUID在这方面也会有所帮助。为了保持一致性,我打算在每个表中使用UUID,但是我有了第二种想法,因为对于我的大多数表来说,这似乎太过了。我想也许我会用整数PKs来表示这些表,UUID PKs代表“特殊”表,但我觉得有点奇怪。这做法不好吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-15 02:00:26

我想不出为什么这会是一种糟糕的做法。不寻常的是。但是,如果您有理由在某些情况下选择整数,而在其他情况下则选择UUID,那么这可能是有意义的。

我喜欢整数作为主键。它们占用的空间更少--如果许多其他表都在使用它们,这可能是一个考虑因素。我发现,在查看值时,它们更容易正确地键入并进行视觉比较。

但是,它们还编码了一些信息,通常是插入到表中的顺序。那是把双刃剑。如果您想要跟踪插入顺序,这可能是一件好事。或者,如果你不想让人们估计你桌子的大小,那可能是件坏事。

当我有UUID时,我也可能有整数主键,将UUID保留在一个单独的唯一列中。这允许在外键引用中提高效率。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59340648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档