有没有一种将长字符串压缩成定长且不碰撞重复的 hash id 算法?

2017-07-13 10:28:48 +08:00
 Reign

目前写爬虫,网址入库过程中,需要判断新存入的 URL 在原 MySQL 中是否存在,有的 url 很长,只能将 URL 作为 text 类型字段存储在 MySQL 中,但貌似 text 类型字段检索唯一性效率很不高,想把 URL 压缩成 md5 再以定长 char 字段存储在 mysql 中,但是在千万级的 URL 条目下 md5 碰撞几率高么?个人没这方面经验,求好心 V 友推荐个算法

6094 次点击
所在节点    程序员
21 条回复
zacard
2017-07-13 17:28:47 +08:00
1.理论上不存在不碰撞的 hash 算法
2.布隆过滤

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/374982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX