通过数字ID与字符串(例如md5)ID搜索条目之间的性能差异

时间:2014-04-26 20:38:16

标签: mysql md5

出于安全考虑,我为MySQL表中的条目提供了公共ID,例如MD5哈希。 搜索该表中条目的私有数字ID与搜索公共ID(例如32字节,MD5)之间的查询性能差异有多大?

2 个答案:

答案 0 :(得分:0)

如果在MD5上创建索引,搜索的差异并不大。

但是索引将比数字ID上的索引大8倍(假设这是一个4字节的int)。对于包含许多条目的表,这可能会增加您的存储和内存需求。

在某些极端情况下(其他列很少的表),您可能需要多达8倍的磁盘空间和内存来存储该表。

答案 1 :(得分:0)

int是4个字节; md5是32个字节。 int会更快,占用磁盘空间减少7n字节。更不用说,计算md5虽然很快,但还是需要时间。

只有很少的行,唯一索引和正常的数据流量,你可能不会注意到很多不同。