• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hmshsnyt
V2EX  ›  程序员

图片打标签

  •  
  •   hmshsnyt · Oct 3, 2019 · 3069 views
    This topic created in 2423 days ago, the information mentioned may be changed or developed.

    一个 id 对应于一个图片 url 链接,现在是图片 url 会重复,现在只要新的 id 对应 url 有重复则继承之前给 url 打过的标签,想过用 mysql 的索引或者唯一键,但是图片 url 比较长,并且是 varchar 的,想问下有没有好的办法

    7 replies    2019-10-03 17:40:49 +08:00
    dswyzx
        1
    dswyzx  
       Oct 3, 2019
    我以前写的爬虫.url 直接 md5 后存,但只做是否重复判断用.
    hmshsnyt
        2
    hmshsnyt  
    OP
       Oct 3, 2019
    @dswyzx 这个我也想到了,用 boomfilter,但是只能知道是否重复,没有与以前 id 的映射关系,也就不知道这个图片的以前标签属性
    mumbler
        3
    mumbler  
       Oct 3, 2019 via Android
    把 url 的 md5 建个字段存下来,主键唯一
    ebony0319
        4
    ebony0319  
       Oct 3, 2019 via Android
    url 过长问题:?id=abc123&code=5478
    多设计一列 code,code 完全随机,可以重复。
    hakono
        5
    hakono  
       Oct 3, 2019 via iPhone
    你这逻辑实际上是 url 的 md5 值和 id 一对多关联
    具体怎么设计表你随便找找一对多的表设计思路就知道了
    mysql 下一个方法就是
    单独一个表,url 的 md5 做主键唯一,然后另外一个 text 的字段存放字符串形式数组,字符串可以逗号分割也可以转成 json
    但这样一个坏处就是没法从 id 反查到 url 的 md5 (如果你没这需求就不用在意这个坏处了)

    当然上面是歪门邪道。。。
    最简单方法就是给 id 那个表添加个 url md5 的字段然后加索引,delect id,urlmd5 from ids where urlmd5 =xxxxxxxxxxxxxxx

    就能搜出你要的信息了
    hakono
        6
    hakono  
       Oct 3, 2019 via iPhone
    @hakono 打错 是 select 不是 delete
    xupefei
        7
    xupefei  
       Oct 3, 2019 via iPhone
    @hmshsnyt boom filter,一用电脑就炸了😂
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2778 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 01:13 · PVG 09:13 · LAX 18:13 · JFK 21:13
    ♥ Do have faith in what you're doing.