php - 如何在不使用文本字段的情况下将哈希存储在 MySQL 数据库中

标签 php mysql hash md5

我将唯一的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/

相关文章:

处理多个服务器的 PHP session

arrays - Ruby:根据条件从深层嵌套的 JSON 结构中提取元素

arrays - 在 perl 中打印数组散列值

PHP 为下一个查询获取上一个 MySQL 查询的 ID,如何?

php - 自动将具有值的新行添加到从 mysql 生成的 csv 文件

php - 如何将 PK 作为外键添加到现有表中?

perl - 有人可以解释 Perl 中的哈希吗?

php - 在不重新加载页面的情况下将数据发布到sql数据库

php - MVC、DI(依赖注入(inject))和从 Controller 创建模型实例

PHP/SQL Sum 客户总数