mysql - 在一个 mysql 表中关联用户列表的最佳方法

标签 mysql performance list datatable store

我正在尝试将动态数量的用户与其他用户相关联。解释一下,如果你在 Facebook 上加好友。他们的用户与您的用户成为 friend 。如何将其存储在 MYSQL 表中?我确实明白这是一种多对多的关系,但从我已经准备好的情况来看。当您 JOIN 两个表时,它会创建第三个表来处理两个原始表中的 PK,从而创建一个关联表。我担心的是,可能会为少数关联创建大量表。

我的主要例子是:

primary_User: 1

list_of_other_Users: 2, 3, 4, 5, 6

如何获得一张表

1| 2, 3, 4, 5, 6

对比

1|2; 1|3; etc...

最佳答案

您的担忧是无效的...对于关系数据库,我建议您保持所描述的设计...我的意思是表可以尽可能重,您无需担心这一点。对于 select 的响应,您必须优化您的数据库(表和查询)。对于 InnoDB:

-Optimizing for InnoDB Tables

-Optimizing InnoDB Queries

正如您所注意到的,这是一个完整的主题,但您可以从使设计尽可能简单开始,也许可以使用一些 INDEXES .

关于mysql - 在一个 mysql 表中关联用户列表的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25609781/

相关文章:

mysql - 根据另一列的 MAX 从一列中选择 DISTINCT

mysql - 列名或提供的值数与表定义不匹配。

performance - Cassandra 中的 ALLOW FILTERING 对于以下查询是否有效?

android - 具有 visibility=gone 元素的膨胀布局的性能影响

python - 对于列表的每个成员,将其写入单独的文件 python

list - 通过时间戳合并列表中的列表

更新数据库时PHP mysql错误

php - PHP的MySQL查询多个更新行与输入选项

python - 有什么办法可以使这段代码更快?

c++ - 如何在主函数中调用模板类