loading请求处理中...
10大优享服务
62项会员特权

论坛BBS数据库设计问题

问题补充:关于BBS  用户好友信息这张表,该怎么设计?每个用户一张表(表的数目是不是有点大了...)?所有用的好友信息都在一张表(当用户多,好友多时,怎么去解决他的效率问题?)?
还有类似的表,比如 用户留言板的留言,用户分享的帖子 日志等表...这个问题该怎么解决?
提问者:品鼎装饰设计 2回答 浏览次数:2807 提问时间: 2021/12/01 11:36
提问者采纳

找关联啊!比如用户好友,只设计一张关系表。  一列为用户ID(主键),一列为好友ID(主键),根据需求再加一些列,比如添加时间,比如备注啊之类的。这样就可以出现四种情况了,A用户 有 B好友  ,B用户 有 A好友。有两条数据,A  B 和  B A                                             A用户 有 B好友               有 A  B数据                                             B用户 有 A好友               有B   A 数据                                             两个都没。                       无数据 至于效率,我是A用户,我登录的时候直接查的就是select 好友ID from 关系表 where 用户id=a用户ID  ,他有几百人就几百条,几千人就几千条咯。 这查出来的是他的好友,当然这些好友里面不一定加了他的。那么查询的就是select 用户ID from 关系表 where 好友ID in(select 好友ID from 关系表 where 用户id=a用户ID) and 好友ID=a用户ID理解为查询关系表中是A的好友而没加A为好友的ID。有点复杂,可以理解为QQ的陌生人 其他一些要根据情况而变。。不过都可以用这种方法,主要还是找出关联

全部回答

问题分类

技术服务
我 要 回 答 我 要 提 问
问题分类   验证码 换一组