对于非关系数据库,比如说健值消岩数据库,可以使用一个大型的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:拉黑举春贺但是还是想来问问看,正派想多了解一下相关的思路。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)