我有一个数据库表,在其中存储了许多MD5哈希(是的,我知道它们不是100%唯一的...),在那里我们对这些字符串有很多比较查询。该表可能会变得非常大,超过500万行。
我的问题是:将数据保留为十六进制字符串是否明智?还是应将十六进制转换为二进制或十进制以更好地查询?
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
二进制可能会更快,因为使用文本时,您使用8位(一个完整字符)来编码4位数据。但是我怀疑您是否真的会注意到很多差异。
我在哪里,我们有一张非常相似的桌子。它在文本列中保存来自医生的听写文本,用于计费目的(仍然在sql server 2000上)。我们正在处理四百万条记录,并且我们需要能够检查重复项,在此情况下,医生两次为了确认和合规性目的对相同的事物进行了两次命令。一条指令可以运行多个页面,因此我们还有一个散列,该散列是通过触发器在插入时填充的。该列是char(32)类型。