MySQL 做标签系统?

2022-07-04 09:40:45 +08:00
 nutting

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

4396 次点击
所在节点    程序员
21 条回复
lazyfighter
2022-07-04 09:48:59 +08:00
mark 对标签系统很好奇,生产上没有实践过
ql562482472
2022-07-04 09:52:41 +08:00
你说的标签,是指 tag 还是 label ?
nicreve
2022-07-04 09:57:09 +08:00
标签系统是指有父子关系的标签树么?常规操作不是用邻接表存储么?
nutting
2022-07-04 09:58:50 +08:00
各位,不用太复杂,就是 tag
icyluna
2022-07-04 10:01:09 +08:00
http://docs.typecho.org/database
不知道这篇是否有帮助
dqzcwxb
2022-07-04 10:03:41 +08:00
一对多设计,一个用户对应多个标,一个标一条记录
dzdh
2022-07-04 10:04:03 +08:00
realpg
2022-07-04 10:08:33 +08:00
基本的多对多三表结构解君愁
lower
2022-07-04 10:22:41 +08:00
像 es 那样搞个倒排表?词库就是标签库……好像跟多对多关系表搞出来本质差不多😂
westoy
2022-07-04 10:25:42 +08:00
教科书一点就 many to many 啊

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

主体表可能有多个,关系表中就多个 主体字段(用于区分主体)。
THESDZ
2022-07-04 13:53:31 +08:00
@THESDZ #14
可以额外维护一个`tag-主体表: 主体 ids`的缓存,用于快速检索
wonderfulcxm
2022-07-04 13:54:43 +08:00
标准的多对多,可以参考 WordPress 的那几张 taxonomy 表的设计
issakchill
2022-07-04 13:59:16 +08:00
之前做过 偷懒做成 json 字段 然后有个主表做管理
meshell
2022-07-04 15:06:00 +08:00
直接 wordpress 结构吧
IDAEngine
2022-07-04 16:42:13 +08:00
直接存 mongodb
815979670
2022-07-04 17:05:13 +08:00
标签不多的话 用 bitmap ? 存储体积小 查起来也方便

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/863871

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX