【发布时间】:2017-11-20 07:31:42
【问题描述】:
在我正在制作的社交网站中,我需要某种方式来存储用户“喜欢”了哪些帖子,以确保他们只能“喜欢”每个帖子一次。我有几个想法。
- 为每个用户创建一个单独的表,将他们喜欢的所有不同帖子的 ID 存储为所述表中的行。
以空格分隔的帖子 ID 字符串作为表
users中的字段。每个帖子都有一个单独的表,将所有喜欢该帖子的不同用户的 ID 存储为表中的行。
注意,users 是一个包含网站所有用户的表格,包括他们的 ID、用户名等。
-
最初我喜欢为每个用户创建一个单独的表格的想法,但我意识到这可能比它的价值更麻烦。
所以我认为users 中的每一行用空格分隔的字符串可能是个好主意,因为我不必开始处理更多的表(这可能会使事情复杂化),但我有一种使用的感觉与使用额外的表相比,以空格分隔的字符串会显着降低性能,尤其是在用户数量较多的情况下。
基本上我的问题是:在上述确保用户只能点赞一次帖子的方法中,哪种方法最实用?
【问题讨论】:
-
一个表格怎么样,每行表示特定用户喜欢的特定帖子?
标签: mysql database database-design innodb social-networking