这两个字段中的哪一个导致数据库查询速度更快?

时间:2014-12-21 17:12:45

标签: mysql database performance

我的数据库使用MySQL和InnoDB引擎。用户表中的字段:

user_id - 主键,长类型
昵称 - 如果需要,可以为20个字符以下的唯一varchar

编制索引

和其他不相关的领域。

现在,假设用户拥有500,000条记录,哪一条会更快?通过user_id或昵称查找用户?

1 个答案:

答案 0 :(得分:0)

在对100k行的表进行一些测试后,按主键搜索确实稍快一些,就像提到 N.B。一样。然而,差异几乎不可察觉,因为它通常只有几毫秒。但是,对于较大的表格,这可能会更高。

而且,在使用Explain查询之后,key_length显然是数字值的短几倍,例如int / long比string。这可能不会对性能产生任何影响,但仍值得一提。

所以是的,我会尽可能坚持用id搜索。感谢您的评论。