V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sponsored by
LinkedIn
2000 个不用坐班的远程好工作在召唤你 · 弹性上班不打卡,工作和生活都能拥有
2000 个不用坐班的全球远程工作,帮助 V2EX 的小伙伴开启全新的工作方式。
Promoted by LinkedIn
nutting
V2EX  ›  程序员

MySQL 做标签系统?

  •  
  •   nutting · 83 天前 · 2980 次点击
    这是一个创建于 83 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果只用一般的表关系如何实际性能最好(主要是检索)?或者是有啥特殊数据结构可以?

    21 条回复    2022-07-04 17:45:54 +08:00
    lazyfighter
        1
    lazyfighter  
       83 天前
    mark 对标签系统很好奇,生产上没有实践过
    ql562482472
        2
    ql562482472  
       83 天前
    你说的标签,是指 tag 还是 label ?
    nicreve
        3
    nicreve  
       83 天前
    标签系统是指有父子关系的标签树么?常规操作不是用邻接表存储么?
    nutting
        4
    nutting  
    OP
       83 天前
    各位,不用太复杂,就是 tag
    icyluna
        5
    icyluna  
       83 天前 via iPad   ❤️ 1
    http://docs.typecho.org/database
    不知道这篇是否有帮助
    dqzcwxb
        6
    dqzcwxb  
       83 天前
    一对多设计,一个用户对应多个标,一个标一条记录
    dzdh
        7
    dzdh  
       83 天前
    realpg
        8
    realpg  
       83 天前
    基本的多对多三表结构解君愁
    lower
        9
    lower  
       83 天前
    像 es 那样搞个倒排表?词库就是标签库……好像跟多对多关系表搞出来本质差不多😂
    westoy
        10
    westoy  
       83 天前
    教科书一点就 many to many 啊

    但是你偷个懒直接存 json 、array 其实也可以, 反正前期数据小靠缓存顶顶问题也不大, 后期数据大也是要上 redis set 或者 es, 再配缓存的
    tyit
        11
    tyit  
       83 天前 via iPhone
    redis 、mongodb
    dunkelheit
        12
    dunkelheit  
       83 天前
    toxi solution
    BeautifulSoap
        13
    BeautifulSoap  
       83 天前
    lz 你确定你的标签系统不用考虑别名? 比如 function, 函数, func 这些标签应该视为同一个标签之类的
    THESDZ
        14
    THESDZ  
       83 天前
    多对多,建好索引
    主体表,关系表,标签表

    主体表可能有多个,关系表中就多个 主体字段(用于区分主体)。
    THESDZ
        15
    THESDZ  
       83 天前
    @THESDZ #14
    可以额外维护一个`tag-主体表: 主体 ids`的缓存,用于快速检索
    wonderfulcxm
        16
    wonderfulcxm  
       83 天前 via iPhone
    标准的多对多,可以参考 WordPress 的那几张 taxonomy 表的设计
    issakchill
        17
    issakchill  
       83 天前
    之前做过 偷懒做成 json 字段 然后有个主表做管理
    meshell
        18
    meshell  
       83 天前
    直接 wordpress 结构吧
    IDAEngine
        19
    IDAEngine  
       83 天前
    直接存 mongodb
    815979670
        20
    815979670  
       83 天前
    标签不多的话 用 bitmap ? 存储体积小 查起来也方便
    zlowly
        21
    zlowly  
       83 天前
    个人感觉,传统关系型数据库只能应付中小型数据量,单一标签查询需求的标签系统,如果是千万级以上数据量,有复合查询需求的,用关系型数据库实现性能会很差。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2598 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 11:59 · PVG 19:59 · LAX 04:59 · JFK 07:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.