我使用 Laravel 5 开发一个应用程序,并在开发过程中使用 sqlite。我想稍后切换到更快的东西。我想要一个字符串作为用户表的唯一标识符。这有什么问题吗?例如使用外键?或者说自动递增整数没有什么区别?
简短的回答:使用字符串作为主键是完全可以的。
长答案:我们不擅长选择字符串作为主键。
什么是好的主键候选?
- 它应该是独一无二的。
- 它应该很少(如果有的话)改变。
现在,您可能认为您的字符串永远不会改变,并且它非常独特,直到它不再是唯一的。
另一个(次要)问题是性能。搜索、连接等在整数上比在字符串上快一点,主要是由于长度(数字通常比字符串短,因此比较更容易)。
我会长时间思考在主键上使用什么字符串,大多数时候这是一个坏主意
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)