我的数据库使用MySQL和InnoDB引擎。用户表中的字段:
user_id - 主键,长类型
昵称 - 如果需要,可以为20个字符以下的唯一varchar
和其他不相关的领域。
现在,假设用户拥有500,000条记录,哪一条会更快?通过user_id或昵称查找用户?
答案 0 :(得分:0)
在对100k行的表进行一些测试后,按主键搜索确实稍快一些,就像提到 N.B。一样。然而,差异几乎不可察觉,因为它通常只有几毫秒。但是,对于较大的表格,这可能会更高。
而且,在使用Explain查询之后,key_length显然是数字值的短几倍,例如int / long比string。这可能不会对性能产生任何影响,但仍值得一提。
所以是的,我会尽可能坚持用id搜索。感谢您的评论。