用户活动墙的最佳方法

时间:2013-11-04 10:55:23

标签: php mysql

我有不同的帖子类型,例如状态更新,项目,捐赠等。每种类型的帖子在数据库中都有一个或多个表格。用户可以创建所有帖子类型。用户有像Facebook这样的墙,他可以看到他按时间顺序创建的不同帖子类型(最后创建的任何帖子类型都应该在墙上)。

最合适的方法是什么?

  1. 从数据库中获取数据,不同的查询存储在数组中,然后操作数组?
  2. 编写复杂的单个查询,可以按时间顺序从不同的表中获取数据吗?
  3. 为用户活动创建单独的表并在用户执行任何活动时存储数据?
  4. 您的方法与上述不同?

1 个答案:

答案 0 :(得分:1)

  1. 设置简单,表现不佳(最糟糕的情况非常糟糕)。

  2. 是最简单的。你说复杂但你可以用UNION + ORDER BY构造相当容易地做到这一点。表现非常好。

  3. 会发挥我想的最好但会有一些重复,事情可能会变得有点复杂。关系数据库在多态性方面不是很好。

  4. 重要的是要在这些解决方案之间切换相对容易。如果你有一个面向服务的架构(或者只是一般的好设计)。所以我不会太担心你选择哪种方法。如果将来您所选择的方法看起来不太好,您可以切换到另一个方法。