我之前被问过这个与当前问题略有不同。但没有得到我正在调查的答案。
我的问题是我需要存储 md5($url)
在MySQL的唯一索引中吗?我在一些代码中看到过这个实际上我不记得了..这是一个超过500万网址的大型数据库,索引是通过调用网址完成的。
有什么想法吗?
答案 0 :(得分:2)
我认为您不应该对您的网址进行哈希处理。唯一可能的原因是节省空间(如果大多数URL大于32个字符),但会增加碰撞风险。
你应该做的是normalize the URLs。
答案 1 :(得分:1)
某些网站对数据库中的网址使用哈希,因为它们在网址中使用哈希表示用户重定向到外部网址。如果不是这样的话,我看不出有任何理由这样做。
答案 2 :(得分:0)
你是说这个网址是这样叫的:
www.yourdomain.com?id=89ce9250e9f469c9d1816e1cc0fb47a1
然后从数据库中查找id(89ce9250e9f469c9d1816e1cc0fb47a1,它是真实网址查询字符串的md5())以解析实际网址:
www.yourdomain.com?user=23&location=5&eventtype=23&year=2010
这是你所指的那种用法吗?
吉姆