Facebook新闻在mysql中进行

时间:2011-08-11 07:46:57

标签: php mysql facebook

我想为我的用户创建一个类似于新闻源的Facebook,基本上可以执行以下操作

  • 跟踪用户及其朋友的活动
  • 用户可以在新闻源上查看最近的朋友活动

但我不太确定如何在mysql中实现这一点。喜欢什么样的表我需要?这些表的结构是什么?我将在这些表中存储什么?我将如何跟踪用户和朋友的活动。我想建立一个可以扩展的高效系统。如果可能的话,我更喜欢使用PHP和Mysql!

我正在考虑使用NEWSFEED表,当用户做某事(发表评论等)时,我会在该表中为用户的朋友和用户自己添加一个条目,该条目将显示在他们的新闻源上。

表结构如下

uid INT
activity ENUM
activity_id INT

所以,假设我有一个具有以下结构的评论表:

title VARCHAR(255)
message TEXT

如果用户发布到该表并且为该用户创建了ID = 5的条目,则以下条目将添加到NEWSFEED表

uid = 3 activity =“comment”activity_id = 5

这意味着要显示每个用户的新闻源,我必须执行以下操作:

SELECT * FROM newsfeed WHERE UID = ....

FOR EVERY ROW:
CHECK activity type (if activity == 'comment')
 **QUERY the corresponding table and display the result (so I would query the comments table an display the person's comment)**

我正在考虑删除超过> 3个月的条目,以防止表变得太大。但我不喜欢我正在为每个活动类型进行独立查询(正如我上面查询的那样,我查询了COMMENTS表以显示其ID在NEWSFEED表中提到的注释)。

0 个答案:

没有答案