找关联啊!比如用户好友,只设计一张关系表。 一列为用户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的陌生人 其他一些要根据情况而变。。不过都可以用这种方法,主要还是找出关联