据我所知,SAP CRM 和 HANA 都使用 GUID 来唯一标识记录,而不是使用经典的递增整数。是否有涵盖其使用的最佳实践或明确的指导方针?
以下是我考虑过支持 GUID 的一些因素:
- 离线创建对象。IIRC GUID 在这些情况下几乎可以保证是唯一的,因此不同数据集的合并或集成不是问题。
- 代理键具有明显的发展优势。虽然递增整数是代理键的一种形式,但使用不同的数字序列可以对它们施加功能意义。
还有一些喜欢经典键的场景:
- 用户需要人类可读的密钥来识别系统中的记录。这可以在 GUID 表中通过还指定具有可读值的外部 ID 来处理。
- 用户希望使用编号规则来识别不同类型的记录,类似于销售或采购文档。虽然我实际上认为这个糟糕的设计。
哪些自定义开发场景会让您更喜欢 GUID 而不是经典键?
对所有表一揽子使用 GUID 是个好主意吗?