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

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

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

    用关系型数据库做的话也只能这样了感觉,如果不设计关系表的话那就是一个字段用逗号或者别的隔开,遇上交并集之类的查询需求就麻烦了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1476 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 17:49 · PVG 01:49 · LAX 09:49 · JFK 12:49
    ♥ Do have faith in what you're doing.