本帖最后由 nm052001 于 2010-11-22 17:57:05 编辑

解决方案 »

  1.   

    这个问题很好解决!将你的md5生成串加长!比如说40位md5加密字符串.实际上就是将你url的特定几位再次加密拼凑起来就能解决你的问题!!
      

  2.   

    给楼主提个建议:不要用 md5,改用 crc32。不是因为“碰撞”的问题,crc32 碰撞更严重。主要是 MD5 本身在数据库里也是字符串,索引效率不会太高。crc32 的结果是 int,查询效率应该好很多。“查重”时,先用 url 计算出 crc32,用这个索引值去查找,如果“未找到”当然就是“无重复”了,如果找到了(可能不止 1 条,但肯定不会很多),就逐条比对 url 字符串,来确定是否“有重复”。BTW: MD5 不是“加密”算法,它是“摘要”算法,也叫“散列”算法。
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)[/size]
      

  3.   

    这个在我们的项目里也用到!使用ttserver搞定·~效率可是很高的··
      

  4.   

    crc32 正解where crc32='xxx' and url='yyy'; 仅在crc32上做索引就可以了
      

  5.   

    你提醒我了,原来这样也行!不错不错!
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)[/size]
      

  6.   

    可以上mysql版问问MD5可以,可以尝试一存成二进制字串.并在此建索引.