相关疑难解决方法(0)

如何在像MySQL这样的RDBMS中存储双向关系?

假设我想在我的应用程序的用户之间存储关系,类似于Facebook本身.

这意味着如果AB的朋友(或某种关系),那么B也是A的朋友.为了存储这种关系,我目前正计划将它们存储在关系表中,如下所示

  UID      FriendID
 ------    --------
 user1      user2
 user1      user3
 user2      user1
Run Code Online (Sandbox Code Playgroud)

但是我在这里面临两个选择:

  1. 典型的情况,我将存储user1 -> user2user2->user1.这将占用更多空间,但(至少在我的脑海中)只需要一次遍历行以显示特定用户的朋友.
  2. 另一种选择是存储user1->user2OR user2->user1,每当我想找到所有的朋友时user1,我会查询表的两列以查找用户的朋友.它将花费一半的空间,但(至少在我的脑海中)是两倍的时间.

首先,我的推理是否恰当?如果是,那么我是否会忘记任何瓶颈(在扩展/吞吐量或其他方面)?

基本上,两者之间是否有任何权衡,除了这里列出的那些.另外,在工业中是一个优先于另一个?

mysql database-design relational-database relationship

14
推荐指数
2
解决办法
5337
查看次数

数据库方案设计社交网站

嗨我打算设计一个社交网站(如orkut)asp.net mvc.我陷入了数据库设计.任何人都为我提供了资源.

database-design social-networking

1
推荐指数
1
解决办法
8755
查看次数

将朋友列表实现到数据库的最佳方法?MySQL

所以我的项目有一个“朋友列表”,并且在 MySQL 数据库中我创建了一个表:

姓名A

姓名B

主键(名称A,名称B)

这将导致大量条目,但为了确保我的数据库标准化,我不确定还有什么方法可以实现这一点?

我的项目也使用Redis..我可以将它们存储在那里。

当一个人加入服务器时,我必须搜索所有条目,看看他们的名字是nameA还是nameB,然后将这两个名字放在一起作为好友,这也可能效率低下。

干杯。

java mysql sql redis

0
推荐指数
1
解决办法
1155
查看次数