活动/新闻/时间线Feed的架构是什么? (没有朋友系统)

时间:2016-09-25 01:01:04

标签: mysql sql database relational-database relationship

我想知道在Feed中显示两种不同类型内容的最佳架构是什么。我提出了2种方法,一种是WP使用的,另一种是我认为应该是最好的,但我仍然不确定。

第一个架构和关系。

  • 进料

    | id |类型| type_id |

  • 镜头

    | id | user_id |标题| desc |图片|日期创建|日期更新|

  • | id | user_id |标题| desc |网址|日期创建|日期更新|

在这种情况下,我会做类似

的事情
SELECT *
FROM feed
INNER JOIN shots
ON feed.type_id = shots.id 
INNER JOIN snippets
ON feed.type_id = snippets.id

另一个模式是WP类型模式

  • 进料

    | id | user_id |标题| desc |图片|网址|日期创建|日期更新

只有一个没有连接的查询会被完成,但是所有记录都在同一个表中,如果我有其他字段,我会在这里添加列,这根本不可扩展。

我可以改为以下

  • 额外

    | id | owner_id |名字|价值|

    | 1 | 123 |网址| .......

    | 2 | 456 |图片| .......

  • 进料

    | id | user_id |标题| desc |日期创建|日期更新

最终我会得到以下

SELECT *
FROM feed
LEFT JOIN extra
ON feed.id = extra.owner_id

哪一个更好?请记住,将来我会有越来越多不同类型的内容(问题,视频,评论,教程,帖子......)

0 个答案:

没有答案