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

前端之家收集整理的这篇文章主要介绍了在MySQL中存储可变长度数组的最佳方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想创建一个允许用户将其他用户添加到个人朋友列表的应用程序.在我的数据库中有一个名为’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

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

原文链接:https://www.f2er.com/mysql/433987.html

猜你在找的MySQL相关文章