在MySQL的一个字段中拥有多个FK是一个好主意吗?

dan*_*iel 0 mysql database-design

我正在建立一个数据库,我有兴趣拥有一个类似Facebook的朋友系统.我最初的计划是有这样一张桌子:

uid  friends
4    30,23,12,33
30   54,92,108
Run Code Online (Sandbox Code Playgroud)

所有这些数字都是带有用户信息的表格的FK.我被告知这是不可取的,实际上是不可能的,因为MySQL只会处理好FK,如果他们是单元格中唯一放置的那个.也许是这样的?

uid(PK) friend
4        30
4        23
4        12
30       54
30       92
30       108
Run Code Online (Sandbox Code Playgroud)

等.这不会给我留下大量的行吗?(成千上万?)第一种技术在时间和效率方面不值得吗?

cdo*_*ner 5

成千上万的行是花生,即使对于Mysql也是如此.没有其他方法可以模拟多对多关系.您将拥有这些ID的索引,这些索引的性能比子串比较好几个数量级.