我将如何存储用户“帖子”?这样我就可以有效地从数据库中获取它们,然后在请求特定用户页面时处理它们以按时间顺序显示?
我是否像这样将所有用户的所有帖子存储在一个表中:
Post ID | Poster ID | Post Content | Posted to this Users Wall | Post Timestamp
然后,当用户打开 UserFoo 的页面时,我只获取所有行,其中 Posted to this Users Wall = UserFoo
?
上面的示例不会使表格变大吗?
最佳答案
您提出的布局看起来很合理。
5 列(四个 INT
和一个 TEXT
),根本不是一个“庞大”的表格。
如果您有适当的索引,查询 WHERE "Posted to this Users Wall"= "UserFoo"
几乎是即时的。
对于您的目标查询(按时间顺序显示发送到当前用户墙上的帖子),最好的索引可能在(发布到此用户墙上,发布时间戳)
(两列索引)。
关于php - Facebook-Timeline 系统应该如何查看数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17236123/