聊天系统的好友列表数据库如何设计

聊天系统的好友列表数据库如何设计,第1张

对于关系数据库,可以设一个这样的字段,这个字段里存放了李四的所有好友,每个好友以“,”分隔;

对于非关系数据库,比如说健值消岩数据库,可以使用一个大型的HASH表来拿衡御存放,拦洞李四的所有好友以一个链接的方式串起来 。

比如:

linker表示链接

hash(李四)=linker(王五、张三、黄光、李明)

3种解决方法,也谈谈这三种的弊端吧!

方法:

一.每创建一个用户.自动创建一个该用户的好友用户表.每一行的记录是一个好凳拍友记录.

二.做一个Frient的表,表中有两列,第一列UID是用户ID,第二列FID是对应该用户的好友

三,在用户枣消羡信息的表中,有一个字段10000长度的varchar 里边用','号分割各个好友的ID

弊端:

一:只适合少量的用户论坛,如果有100万个注册用户,就得有100万张好友表,这样当用户一多,数据库会很大!

二:这种方法是给用户注册表创建一张好友关联表,这样或许是这三种方法中最好的方式了吧,但是注意记得要添加索引,不然查询起来,数据一多,会非常慢;

三、这样在程序方面会比较麻烦,先取出来,后添加数据,再update,桥侍感觉速度会上不来...........

好友关系是双向的:user1 >user2与 user2 >user1是重复的。目前业务很简单就是好友关系。预想4个字段解决:id(自增)to_user(添加用户)

form_user(被添森销加用户)relation(用户关系)0:好友 1:拉黑举春贺但是还是想来问问看,正派想多了解一下相关的思路。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11969187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存