出于安全考虑,我为MySQL表中的条目提供了公共ID,例如MD5哈希。 搜索该表中条目的私有数字ID与搜索公共ID(例如32字节,MD5)之间的查询性能差异有多大?
答案 0 :(得分:0)
如果在MD5上创建索引,搜索的差异并不大。
但是索引将比数字ID上的索引大8倍(假设这是一个4字节的int)。对于包含许多条目的表,这可能会增加您的存储和内存需求。
在某些极端情况下(其他列很少的表),您可能需要多达8倍的磁盘空间和内存来存储该表。
答案 1 :(得分:0)
int是4个字节; md5是32个字节。 int会更快,占用磁盘空间减少7n字节。更不用说,计算md5虽然很快,但还是需要时间。
只有很少的行,唯一索引和正常的数据流量,你可能不会注意到很多不同。