我必须创建一个赞系统(名称不会是“赞”,Facebook 拥有它)。所以我想出了两种方法将这些喜欢存储在我的数据库中,我想知道,对于一个流量非常大的网站,哪种方式更好。
- 使用“id”、“comment_id”、“user_id”单元格创建表 comment_likes。在评论表中存储“like_count”,所以当我需要写出来的时候不需要计算它。但是点赞很容易做到,所以人们会创建很多点赞,如果我需要列出指定评论的点赞,我需要阅读整个comment_likes 表并找到所有user_id。这可能是未来数百万行。如果 1000 个用户同时执行此操作,我的系统将会死机。
- 我的第二个想法是,在评论表中存储喜欢。创建一个名为“likes”的单元格,其中包含这样的 user_ids 列表:1#34#21#56#.... 所以当有人喜欢/不喜欢评论时,只需用 # 连接或替换此单元格中的他/她的 id。当我需要列出指定的评论时,只需在#-s 处展开此列表。
我认为 2nd 可能会更快、更智能,但您对此有何看法?