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

MySQL 做标签系统?

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

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

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

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

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