1.就以知乎为例吧,一个问题可能有多个tag来进行标注,这些tag是用怎么的结构在数据库中存储的呢?
很多人说再整理出一张tags的表,和一张tags和id对应的表,有谁能够详细说明一下这个东西怎么设计?
2,当进行检索的时候,怎么能够快速高效地通过tag/tags来进行检索呢?
假设你的主表叫topic,主键id
tags表作为关联表,结构为id topicid tag,外键topicid
进行关联查询
或者在topic表增加一个字段叫tags,用逗号分隔直接存。
或者出于性能的考虑,同时保持以上两个设计,也就是存在冗余的数据。
看一下数据库的三大范式。
重新新建一张表;管理问题和tag之间的关系。