Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 多对多关系——很多_Database_Many To Many - Fatal编程技术网

Database 多对多关系——很多

Database 多对多关系——很多,database,many-to-many,Database,Many To Many,我有一个关于数据库中存储关系的一般性问题 让我们举一个社会例子:追随者。我想存储朋友A(id 1)正在跟随朋友B(id 5)。 我使用数据库中的多对多关系来执行此操作 插入: table flw (friend,following,relation_id): (1,5,1) 所以我们继续。。和朋友a,B,C,D的一百万关系 现在我的问题是,当我需要获取朋友A(或B,C,…)所关注的所有关系时。。它需要获得数百万条记录。这仍然有效吗?我无法想象facebook为了得到我的好友列表而排了十亿行

我有一个关于数据库中存储关系的一般性问题

让我们举一个社会例子:追随者。我想存储朋友A(id 1)正在跟随朋友B(id 5)。

我使用数据库中的多对多关系来执行此操作

插入:

  table flw (friend,following,relation_id): (1,5,1)
所以我们继续。。和朋友a,B,C,D的一百万关系

现在我的问题是,当我需要获取朋友A(或B,C,…)所关注的所有关系时。。它需要获得数百万条记录。这仍然有效吗?我无法想象facebook为了得到我的好友列表而排了十亿行


解决方案可能是使用多个数据库。但是,这(数百万个多对多关系)是存储我的示例中的内容的(唯一)正确方法吗?

为什么不使用一对多关系?好像有两张桌子。第一个表将存储用户信息。第二个表将存储用户的追随者,他们将第一个表中的userID作为外键。也许我弄错了,但这和我的示例中的不一样吗?我可以在它旁边有第二个表inf(friend,info,…),而第一个表flw只存储以下friends。朋友的身份证一直保持不变。但如果他跟着10个人,那将是10排。所以它继续着。