我开始设计一个大型项目 - 类似于Facebook。我遇到了需要解决以下问题的情况。
当您在发布时选择Facebook,选择谁可以看到帖子。 (你可以查看能看到帖子的朋友,我需要和这些朋友一起工作)
而且我不想处理类似的风格
非常糟糕的方式(仅举例)
post_id | visible_user_ id 5 | 15,25,156,489,21,56,41,56,21,56,1465 ...
这种方法很好,但表可能有数百万条记录
post_id | visible_user_id 5 | 15 5 | 25 5 | 156
问题是:我进入哪个方式或者没有相似的经历?我想找到最快的解决方案,您如何看待序列化字符串?
答案 0 :(得分:2)
包含所有ID的序列化字符串是一个非常糟糕的主意
为什么?
那么,在这个字符串中,您将拥有每个用户的所有ID,可以看到该帖子对吗?如果你删除其中一个,那么你需要再次恢复该用户的所有朋友才能更新该字段吗?删除一个用户的工作太多了,如果你想添加另一个用户(另外一个朋友),那就相同了
另一方面,该字段类型应为TEXT
类型,以便为拥有大量朋友的用户存储。
首先,我可以告诉你我将如何做到这一点:
首先,我将制作表格,users
,users_friends
,posts
和users_posts
通过这四个表,您将解决该问题:
users
表格users
表中,所以在users_friends
表中插入用户的id和朋友的id users_friends
我认为这应该让你有一个想法从项目开始,祝你好运
如果有什么不清楚只是评论