繁体   English   中英

mysql优化表

[英]mysql optimize tables

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

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

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

     id | people1 | people2 1 | john | maria 2 | john | fred 3 | maria | fred 

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

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

     id | people | friends 1 | fred | mary, john 2 | mary | john, fred 3 | john | fred, mary 

或者也许有更好的方法?

亲爱的,

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

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

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

id | name | age
1  | vipan | 12
2  | karan | 12

然后进入应该是

id | my_id | friend_id
 1     1        2
 2     2        1

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

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

从mysql表中分隔逗号分隔值

第一个是最好的,无疑是因为第二个不尊重第一个正常形式

您必须避免在同一列中使用多个值,因为编辑会非常痛苦

是关于数据库规范化的链接。 大多数时候,我们尊重第三种正常形式,因为它是规范化和性能之间的良好折衷。

另外,像Randy说的那样,你必须使用ID,然后你可以用外键链接它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM