我有用户的移动应用。一切都很简单 - 每个用户都有 id 和 name 。
用户表
id name
1 John
2 Dave
3 Jack
这些用户中的一些人是我的问题的主要目的 - 找到重建友谊表的最佳方式(唯一的规则是user_id_1< user_id_2)
友情表
id user_1_id user_2_id
1 1 2
2 1 3
3 2 3
我怎么知道用户是朋友?我从不同来源(社交网络A,社交网络B)获取此信息。 因此,如果两个用户至少是两个社交网络之一的朋友 - 他们是我的应用中的朋友。
现在我每天都在重建友谊表:
如何更好地解决此问题?
答案 0 :(得分:1)
首先, 你可以使用2个网络中唯一的一个表(而不是使用A-friends表和B-friends表) 当选择时你可以使用distinct关键字 步骤将是:
答案 1 :(得分:1)
您可以使用set数据类型代替数组。使用set的原因是设置不包含重复值。
使用两套oldFriendships
和newFriendships
。
oldFriendships
newFriendships
newFriendships
newFrindships
oldFriendships
补丁newFrindships
- 这是删除的友谊,从友谊表中删除这些值
3.2。查找newFrindships
补丁oldFriendships
- 这是添加友谊,将这些值添加到友谊表以下是关于补充的wikipeda文章