【问题标题】:How to create a 'feed' for users (DB Design)?如何为用户创建“提要”(数据库设计)?
【发布时间】:2012-07-28 17:06:53
【问题描述】:

因此,在我的网站上,用户可以执行不同的任务,例如评论、加入群组、发送消息、提供反馈等。现在我想在用户个人资料页面上创建一个提要,告诉每个人他们一直在做什么,有点像像 facebook,但更简单。

例子:

John Doe sent a message to Bob Smith

Bob Smith gave some feedback to John Doe

Bob Smith joined John Doe's group

要执行此类操作,我应该从相应的表格中提取所有信息,还是每次执行我希望包含在提要中的任务时都在“提要”表中插入一行。

基本上,我想通过个人资料页面上的活动选项卡实现他们在 stackoverflow 上所做的工作。

【问题讨论】:

    标签: php mysql database mysqli feed


    【解决方案1】:

    我认为,如果您确实创建了一个包含用户活动的额外表格,那会更容易。检查所有这些表,您可能甚至不需要所有数据,然后将它们格式化为提要,这将对您的服务器造成影响。还要考虑未来(例如,如果你有 100 个这样的表会怎样)。

    使用额外的表可以让您只查询提要表并使用此信息。无需从正确的表中提取,因为表中的数据可能没有直接用处,需要进行一些计算。

    您可能会考虑的另一点是未来对 Feed 的更改。假设您想在提要上显示更多信息,但相应的表格没有该信息,您将不得不更改所有这些表格(更不用说使用它们来添加信息的脚本/页面)。但是使用一个提要表,您可以再添加一个元素并更改提要创建方法。

    【讨论】:

      【解决方案2】:

      userid_did(int)|userid_to(int)|operation(int)|date(varchar)|id(int)

      我猜?

      【讨论】:

        猜你喜欢
        • 2022-11-24
        • 1970-01-01
        • 1970-01-01
        • 2018-04-10
        • 1970-01-01
        • 2014-10-22
        • 1970-01-01
        相关资源
        最近更新 更多