社交媒体数据库设计:是否应创建以用户为中心的表格?或掌握有关数据的表格?

时间:2015-12-01 00:10:00

标签: php mysql database

我试图从概念上理解社交媒体网站的设计。我在数据库答案中看到样本模型有一个" Me" table,myMovements,myProfiles我认为是用户唯一的(即用户Bob有:Bob,bobMovements,bobProfile)。但是有一些表格,例如" Contacts"和" Wall_posts"。在这种情况下,我们是否认为放置所有用户'将联系人或墙上的帖子放到一个表中然后运行一个查询以通过user_id进行选择(我认为这样做是为了防止几个空表没有被真正使用)?或者这些表是否会单独创建为" Bob_wall_posts"?

作为数据库设计的新手,我很好奇是什么类型的性能差异(如果有的话)会有这样或那样的方式;并且有没有理由创建" bob_wall_posts"因为这似乎是管理的噩梦?

据说,如果说联系人表有数百万条记录,那么这样的表会呈指数增长,有没有办法构建它以优化性能?或者编写优化查询的一些方法?

以下是我所指的模型。

Social Media Model

1 个答案:

答案 0 :(得分:1)

关系数据库设计的基础,你不会为每个用户构建数据表...

我甚至不认为应该解决性能问题,它只是没有完成......

关系数据库具有非常快速的搜索优化。只需正确定义您的密钥,并在需要时使用索引,您应该好好去...

希望有所帮助