我可以有一个自动增量 id 字段作为我的主键或一个 sha1 哈希。
我应该选择哪一个?
在性能方面哪个会更好?
在一些应用程序驱动的情况下,您希望使用全局唯一 ID (UUID/GUID):
如果你没有上面的用例或类似的东西,你可以使用自动递增的 id,如果这让你舒服的话;但是,您可能仍需要考虑 UUID/GUID
权衡:
关于 UUID/GUID 键的速度/大小有很多意见。归根结底,这是一种权衡,有很多方法可以提高或降低数据库的速度。理想情况下,您希望将索引存储在 RAM 中以便尽可能快;但是,这是一个权衡,您必须权衡其他考虑因素。
关于 UUID/GUID 的其他注意事项:
使用自动增量 ID。
几乎肯定是一个自动递增的整数。创建速度更快,搜索速度更快,体积更小。例如,考虑如果您有另一个表引用它。您希望它通过完整的主键还是通过 sha1 哈希来引用它?一个整数会更有意义(在某种程度上),它会更(很多!)更有效率。