将帖子和评论存储在单独的表格中或一起存储

时间:2019-01-08 15:49:15

标签: mysql sql database

我想知道什么是最好的,将我的评论存储在我的帖子表中,或者将它们保存在自己的表中?

“我的帖子”表仅包含ID,用户ID,图片网址和帖子说明。我将posts表和我的users表联接在一起,以检索作者的姓名。

我应该在我的posts表中添加新列以进行评论并存储所有评论的json,还是应该创建一个新评论表并将每个评论记录为单独的行?我不打算添加字段来回应人们,而只是存储评论。我假设只添加另一列会很好。

如果将评论存储在posts表中,则无需进行单独的api调用即可收集它们。

谢谢,很想听听您的想法。

2 个答案:

答案 0 :(得分:2)

如果您使用关系数据库,那么正确的用法是normalization,并且 normal forms。这意味着您应该创建两个单独的表:帖子和帖子评论

答案 1 :(得分:1)

您可以在id_parent旁边添加一个id列,该列具有完全相同的属性,但AUTO_INCREMENT和DEFAULT除外,为0。

给定的列可以指向先前帖子中已经存在的id。如果这是新帖子,则可以保留为默认值。

这将在您不使用FOREIGN KEYS约束新列的情况下起作用。如果您需要更快地搜索所有带有回复的帖子,则可以设置一个索引。

这还使您可以灵活地在各个帖子之间引用多个帖子,而无需创建新表并在各处搜索。它可能缺乏规范化功能,但可以节省您的时间和精力。