mysql优化表

Min*_*kas 5 mysql optimization

我想创建一个朋友系统(类似于facebook).

我想在MySql中保存关系数据,但我不知道哪种方式更好:

  1. 将everysingle关系保存为单个条目,例如:

    id | people1 | people2
    1  | john    | maria
    2  | john    | fred
    3  | maria   | fred
    
    Run Code Online (Sandbox Code Playgroud)

    (我宣布所有这3个人之间的关系)

  2. 要保存每个人的名字并列出他的朋友:

    id | people | friends
    1  | fred   | mary, john
    2  | mary   | john, fred
    3  | john   | fred, mary
    
    Run Code Online (Sandbox Code Playgroud)

或者也许有更好的方法?

小智 11

亲爱的,

你只需要一张桌子来建立朋友关系.结构是我用过的

id(主键)| my_id(整数记录的用户ID)| friend_id(他将从登录用户收到朋友请求的另一个用户的整数用户ID)

就像我们在users表中有两个用户一样,我们有两个用户可以相互建立关系

id | name | age
1  | vipan | 12
2  | karan | 12
Run Code Online (Sandbox Code Playgroud)

然后进入应该是

id | my_id | friend_id
 1     1        2
 2     2        1
Run Code Online (Sandbox Code Playgroud)

请不要在任何情况下投票,但我在我的网站中使用此表结构,这是在joomsocial中使用的相同结构这是最好的表结构我认为所以我使用它,请不要在表中使用逗号分隔值他们在某些情况下会在连接和关系中产生问题

请在以下的帖子链接看4号评语

从mysql表中分隔逗号分隔值