用于拥有 id 的最佳实践:字符串或整数
Best practice to use for having id: string or integer
我有一项维护用户数据的服务。我可以将 userId 设为 1、2、3 等作为其他服务可以调用我们帐户的整数吗?或者使用像 UUID 这样的字符串作为 ID 是更好的做法吗?
关于性能,使用字符串作为ID确实会影响性能,因为在查询和分析数据时,匹配两个数值会比匹配两个字符串更快,但是你需要考虑到解决方案(不限于DB here) 需要支持缩放。
这意味着在某些时候您可能需要迁移或将此数据库与其他数据库合并,或者可能跨多个服务器分发到此数据库,因此您需要更可靠的东西,您应该在其中查找 GUID (例如 https://blog.codinghorror.com/primary-keys-ids-versus-guids/)。
TLDR:如果您计划仅为此服务保留一个小型数据库,请使用数值,如果您计划稍后扩展项目,请考虑更复杂的值。
我有一项维护用户数据的服务。我可以将 userId 设为 1、2、3 等作为其他服务可以调用我们帐户的整数吗?或者使用像 UUID 这样的字符串作为 ID 是更好的做法吗?
关于性能,使用字符串作为ID确实会影响性能,因为在查询和分析数据时,匹配两个数值会比匹配两个字符串更快,但是你需要考虑到解决方案(不限于DB here) 需要支持缩放。
这意味着在某些时候您可能需要迁移或将此数据库与其他数据库合并,或者可能跨多个服务器分发到此数据库,因此您需要更可靠的东西,您应该在其中查找 GUID (例如 https://blog.codinghorror.com/primary-keys-ids-versus-guids/)。
TLDR:如果您计划仅为此服务保留一个小型数据库,请使用数值,如果您计划稍后扩展项目,请考虑更复杂的值。