需要关于mysql论坛的数据库结构的建议

时间:2014-06-24 15:00:53

标签: php mysql database

我正在建立一个论坛,每个主题都可以有一组标签(比如堆栈上的标签溢出)。我将每个主题作为一行存储在一个表中,该表包含用于存储时间戳,标题,描述等的列。

将每个问题的标签存储在mysql数据库中的最佳方法是什么?最好只使用php?我应该为每个主题创建一个新表并将标记存储在该表中的单独行上吗?我确信有更有效的方法。请帮忙。

性能是一个问题。我还必须能够检索属于特定标签的所有主题。

2 个答案:

答案 0 :(得分:2)

最好只为标签创建一个单独的表,然后通过在新的列中创建一个引用第一个中的主题ID的列将其链接到另一个表。这样,如果不能使原始表变得混乱,您仍然可以为每个标记设置主题。希望这会有所帮助。

答案 1 :(得分:1)

事实上,你应该使用两张桌子。

Tag - 存储标签的表格 Topic2Tag - 存储标签和主题之间的关系

因此您的系统将获得最大的灵活性

或者您可以将标签存储在以逗号分隔的主题表的一列中,但如果稍后您将尝试使用标签执行某些操作....“这很重”