每个用户一个表四个字段(好友,陌生人,黑名单,待审批的好友申请)好友:表示对方是自已的好友
陌生人:非好友
黑名单:不用说了吧。
待审批的好友申请:对方已加我的申请,等待我的通过或拒绝

解决方案 »

  1.   

    如果有1万个用户,就1万个表;
    如果有10万个用户,就,,,,
      

  2.   

    有这么一个user表:
    id       name
    ------------------------------
    1       A
    2       B
    3       C
    4       D
    .......有这么一个friend表:
    userID       friendID
    --------------------------
    1           2,3,4
    2           1,2,4
    3           1,2
    4           1将每个人的好友都放到一个字段里面,有逗号分开,这样加一个好友的时候就去更新字段,
    而不是去加一条记录,这样记录会少很多,不过程序可能会麻烦一点,不过应该也不会麻烦很多,
    并且一般来说一个人不可能加10000个好友吧,这样的小概率事件可以不考虑,呵呵,
    一般最多可能500个好友已经很多了,所以不用担心字段会长得不可想象。
    黑名单也可以一样的设计。还有一种思想就是根本不需要friend表,就把friend作为一个字段放到user表里面,
    这样查询更新也是比较方便的,所有好友用一个符号分开编程的时候去分就OK了