加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

在MySQL中存储可变长度数组的最佳方法

发布时间:2020-12-11 23:38:21 所属栏目:MySql教程 来源:网络整理
导读:我想创建一个允许用户将其他用户添加到个人朋友列表的应用程序.在我的数据库中有一个名为users的表.每个用户都有唯一的ID和唯一的用户名,现在每个用户都需要能够拥有一个朋友列表. 我认为保存这些朋友列表的最佳选择是为每个用户创建一个包含两个列的单独表.

我想创建一个允许用户将其他用户添加到个人朋友列表的应用程序.在我的数据库中有一个名为’users’的表.每个用户都有唯一的ID和唯一的用户名,现在每个用户都需要能够拥有一个朋友列表.

我认为保存这些朋友列表的最佳选择是为每个用户创建一个包含两个列的单独表.一列为朋友的id,另一列为他们的用户名.

我可以同时搜索和检索朋友的用户名和ID.在缺点方面,我需要为每个用户创建一个表(数百,数千,可能是数百万)的表.

这会使从数据库中选择一个表变慢吗?
这会不必要地耗费服务器上的空间吗?
有没有更好的方法为每个用户保存好友列表? 最佳答案 你不应该这样做.

而是做类似的事情

UserTable
* Id
* UserName

FriendsTable
* UserId
* FriendId

您可能需要阅读一些关于关系数据库的内容.

这样一来,用户就可以成为很多人的朋友.考虑这个例子

UserTable
1,Joey
2,Rachel
3,Chandler
4,Ross
5,Phoebe
6,Monica

FriendTable
1,2
1,3
1,4
1,5
1,6
2,3
2,4
2,5
2,6
3,4
3,5
3,6
4,5
4,6
5,6

来自朋友的人们是彼此的朋友

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读