与使用基于字符的表格相比,在数据库表中使用唯一的数字ID字段时,是否有性能提升或最佳实践?
例如,如果我有两个表:
运动员
id … 17,名字…… Rickey Henderson,teamid … 28
球队
teamid … 28,teamname …奥克兰
如果队友是“OAK”或“SD”而不是“28”或“31”,那么拥有数千名球员的运动员桌将更容易阅读.让我们理所当然地认为,teamid值在字符形式上将保持唯一且一致.
我知道你可以使用字符,但是出于任何原因索引,过滤等是一个坏主意吗?
请忽略规范化参数,因为这些表比示例更复杂.
解决方法
我会远离使用文本作为你的关键 – 未来当你想改变一些团队的团队ID时会发生什么?当主键完全可以避免时,您必须在整个数据中级联该键更改.此外,虽然我没有任何经过验证的证据,但我认为INT密钥会明显快于文本密钥.
也许您可以为数据创建视图,使其更易于使用,同时仍使用数字主键.