社交网站常见的用户与好友关系表设计(mysql)

这篇博客探讨了如何在MySQL中设计用户与好友关系表,强调了避免重复记录、优化查询性能以及利用缓存(如Redis或Memcached)提升效率的方法。内容包括用户基本信息表和好友关系表的设计要点。
摘要由CSDN通过智能技术生成

用户表信息:userid、用户名等基本信息...

设计用户好友关系表:

create table 'connect_userfriend_id'
pk_id      id         (int)   主键,自增
           userid1    (int)   帐号id
           userid2    (int)   帐号id


注意:

1) userid1->userid2 和 userid2->userid1 是一样的记录,不要重复添加
2) 为了快速判断两个人是不是好友,可以在程序层插入数据前加一个限制 userid1 < userid2
3) 为了快速得到一个人的好友列表,查询时用 UNION ALL,代替or,会更高性能,因为取可能重复的值所以不能用UNION
4) 如果为了再高效,加入缓存层(Redis 或 Memcached)


查询用户id为2的好友id集:
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值