我想知道在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
哪一个更好?请记住,将来我会有越来越多不同类型的内容(问题,视频,评论,教程,帖子......)