用tag作为分类的问题。
在设计论坛数据库的时候,一个帖子可能被赋予1个以上的tag。。
我应该怎么设计数据库?
帖子前的tag是应该 1个tag占一个列还是 N个tag放在一个列?
如
第一种
tag1 | tag2 |……| tagN | title |
科技 | 教育 |……| 文化 | 这是主题 |
第二种
tag | title
科技,教育,……,文化 | 这是主题
这两种用哪一种?那种的搜索速度快?
------解决方案--------------------N个tag放在一个列
------解决方案--------------------感觉如果类型不是太多 ,第一中好点,
------解决方案--------------------都放在同一个列,之间用分隔符就行了
------解决方案--------------------用第二种吧
select * from table where tag like '%科技% '
------解决方案--------------------假如说有一个帖子的tag是“科技,教育,体育,娱乐,文化”
你想查询 教育 和 娱乐 的帖子, 可以 tag like '%教育%娱乐% ',
如果另外一个帖子的tag是“娱乐,教育,体育,文化” 当顺序变的时候就差不出来了,会很麻烦,而且当数据量打的时候 like 会很慢
感觉一种tag作为一列,可以用0或1 表示,查询的时候很方便,就是如果tag有很多种 表会很长