最好存储整数UserID或将用户名存储为密钥。
哪种表现更好?
答案 0 :(得分:3)
问题似乎更像是讨论,因为它实际上是基于应用程序要求。但是,我将给出一个一般性的答案,为什么UserID更适合性能。
我为UserID提高性能的3个原因:
INT
数据类型最多只需要 4个字节,最多允许 4294967295唯一ID 我不使用用户名的3个理由:
latin1
MyISAM
表。 MyISAM
上的固定宽度表格使您的查找速度<动态表格增加<30%。MyISAM
执行表级锁定,如果表格很重write
,可能会导致性能降低。答案 1 :(得分:1)
只要两个字段都是主键,性能就会相同。
答案 2 :(得分:1)
性能将相同,但我会将UserID用作自动递增的主键。
答案 3 :(得分:0)
这取决于你想要实现的目标。理想情况下,大多数网站都有UserId和Username,这两者都是唯一的。 当您分配UserID时,您可以自动增加它,并确保表中的每个新条目都获得唯一的用户ID,并为您完成工作。 但是,我假设您不打算让用户使用userID作为访问您的网站的手段,因为这只是糟糕的设计。
答案 4 :(得分:0)
从长远来看,用户名将比自动递增的Id整数更复杂。 您可能没有注意到MySql所做比较的性能差异很大,但您的域代码可能会因为能够比较ID号而不是包含用户名的字符串而受益。
如果您希望能够通过具有相似性能的用户名获取数据,而不是将用户名作为主键,请查看MySQL的索引