我将唯一的user-agents 存储在 MySQL MyISAM 表中,所以当我必须查看它是否存在于表中时,我会检查 md5 散列存储在文本字段旁边。
User-Agents
{
id - INT
user-agent - TEXT
hash - VARCHAR(32) // md5
}
除了使用 32 位整数而不是文本散列之外,有什么方法可以做到这一点?也许原始格式的 md5 会更快?这将需要二进制搜索。
[编辑]
MySQL 不处理完整的区分大小写的字符串的散列搜索?
最佳答案
将 UNHEX(MD5($value))
存储在 BINARY(16)
中。
关于php - 如何在不使用文本字段的情况下将哈希存储在 MySQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554296/