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

标签 mysql md5

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

最佳答案

如果您在 MD5 上创建索引,搜索的差异不会那么大。

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

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

关于mysql - 通过数字 ID 与字符串(例如 md5)ID 搜索条目之间的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23316252/

相关文章:

mysql - 如何从列日期格式获取特定的日月或年

php - 使用 PHP 的动态表

mysql - HTML5 视频无法自动播放

powershell - 使用 powershell 对整个目录进行 MD5 校验和散列

c# - 如果我在源代码上插入注释,它的二进制文件 MD5 会被更改吗?

android - 使用 volley 检索 JSON 数据不会显示在自定义列表中

c# - C# mySQL INSERT 语句错误 - "You have an error in your SQL syntax"

php - 使用 RAND 和 MD5 在 MYSQL 唯一字段中生成唯一键。可能的?可接受的做法?

java - 从哈希中查找消息?

php - 比较 MD5 哈希密码不起作用