V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
clanboy
V2EX  ›  程序员

抓了一些 cc0 的图片,整理了一下, tag 关系表竟然有小 3000W。

  •  
  •   clanboy · 323 天前 · 2245 次点击
    这是一个创建于 323 天前的主题,其中的信息可能已经有所发展或是发生改变。
    抓了一些 CC0 的图片,不到 300W 条,整理了一下,tag 关系表竟然有小 3000W 。
    12 条回复    2023-06-01 11:02:20 +08:00
    mythjava
        1
    mythjava  
       323 天前
    什么是 cc0
    clanboy
        2
    clanboy  
    OP
       323 天前
    @mythjava 就是作者放弃了版权的图片,使用起来不会有版权纠纷
    gpt5
        3
    gpt5  
       323 天前
    @mythjava no copyright
    ophunter
        4
    ophunter  
       323 天前
    哥们,tag 怎么生成的? tag 关系怎么建立的? 有相关资料分享下吗
    ljsh093
        5
    ljsh093  
       323 天前
    大佬可以分享下吗
    clanboy
        6
    clanboy  
    OP
       322 天前
    @ophunter 一个 img 对应多个 tag ,分别建 tag 表和 tag 和 img 的关联表,其实就是多对多的对应关系,主要是优化 tag 的 select 效率
    ophunter
        7
    ophunter  
       322 天前
    @clanboy 哦哦,那按照这样设计的话,比如一个 img 10 个 tag ,那么有 3000 条了,按照你的这个设计如果是一对一,就符合结果了。 而且好像并没有减少关系表的可能.
    clanboy
        8
    clanboy  
    OP
       322 天前
    @ophunter 本来 img 的 tag 是按逗号隔开的,这样查询的话就需要 like 去查,速度感人。
    luwill
        9
    luwill  
       322 天前
    tag 是计算出来的么? clip ?
    Mithril
        10
    Mithril  
       322 天前   ❤️ 1
    你这 tag 大部分都是生成的,你很可能也不会手动去改,那就没必要弄什么 tag 表和关系表,直接全存图片表里就行。
    最简单的办法,直接换 mongodb ,所有图片记录扔一个 collection 里,每条记录带个 tags 的数组,建个索引就行了。
    也不是啥都非要用关系型数据库搞,关系型做起来明显比较麻烦的问题,换个思路没准比你绕来绕去更简单。
    fishily1993
        11
    fishily1993  
       322 天前
    配置个 ES 或者自己搞一个简单的倒排呢?
    Jrue0011
        12
    Jrue0011  
       322 天前
    有时候项目限制了没法用 mongodb 这种数据库,只能硬着头皮用关系型数据库做。

    用关系型数据库做的话也只能这样了感觉,如果不设计关系表的话那就是一个字段用逗号或者别的隔开,遇上交并集之类的查询需求就麻烦了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5187 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:22 · PVG 09:22 · LAX 18:22 · JFK 21:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.