V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nutting
V2EX  ›  程序员

MySQL 做标签系统?

  •  
  •   nutting · Jul 4, 2022 · 5144 views
    This topic created in 1395 days ago, the information mentioned may be changed or developed.

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

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

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

    主体表可能有多个,关系表中就多个 主体字段(用于区分主体)。
    THESDZ
        15
    THESDZ  
       Jul 4, 2022
    @THESDZ #14
    可以额外维护一个`tag-主体表: 主体 ids`的缓存,用于快速检索
    wonderfulcxm
        16
    wonderfulcxm  
       Jul 4, 2022 via iPhone
    标准的多对多,可以参考 WordPress 的那几张 taxonomy 表的设计
    issakchill
        17
    issakchill  
       Jul 4, 2022
    之前做过 偷懒做成 json 字段 然后有个主表做管理
    meshell
        18
    meshell  
       Jul 4, 2022
    直接 wordpress 结构吧
    IDAEngine
        19
    IDAEngine  
       Jul 4, 2022
    直接存 mongodb
    815979670
        20
    815979670  
       Jul 4, 2022
    标签不多的话 用 bitmap ? 存储体积小 查起来也方便
    zlowly
        21
    zlowly  
       Jul 4, 2022
    个人感觉,传统关系型数据库只能应付中小型数据量,单一标签查询需求的标签系统,如果是千万级以上数据量,有复合查询需求的,用关系型数据库实现性能会很差。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   972 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 19:50 · PVG 03:50 · LAX 12:50 · JFK 15:50
    ♥ Do have faith in what you're doing.