指数数据库关系

时间:2015-02-05 17:33:47

标签: php database symfony doctrine-orm social-networking

我正在Symfony和Doctrine 2下开发,并希望您就如何构建我的数据库(mysql)以建立一种用于共享信息(文章)的社交网络平台的建议。记住大量且越来越多的文章,反之亦然: - 作者可以从其成员列表中分享该文章的许多特定用户 - 任何接收者也可以决定将文章从他自己的成员列表中转发给特定用户 - 每篇文章的作者或接收者的成员选择可能不同(目标取决于其对文章的可能兴趣)

与多对多关系链接的A / Article和User表 我首先考虑的是这种架构,但行数可能非常大。考虑到用户可以有1000个连接(成员),如果他的一些成员决定将文章转发给其他人,那么只有一篇文章的行数可以达到一百万行......

B / Article表,以longtext列为关系 我正在考虑使用文本列填充文章数据库,我将使用接收者的userID填充...但是这个列可以再获得一百万个ID ......当用户连接时,我将必须在longtext Column ...。

中请求Select * Where UserIn

解决方案B可能适合吗?你会如何处理这种情况?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你有一个文章表和用户表。您想要将文章链接到用户。

简单的方法是将它们与链接表链接:

TABLE `Link` (
  `Article` ,
  `User` 
 )

你提出的是什么。没有更有效的方法。