好友关系数据表设计

商城网站需要自己维护好友关系,从知乎看到的思路,记录一下。


数据表三个字段
    主键(自动生成)
    UserID1
    UserID2

注意事项
    <UserID 1, UserID 2> 和 <UserID 2, UserID 1> 是一样的记录,不要重复添加
    为了快速判断两个人是不是好友,可以在程序层插入数据前加一个限制 UserID1 < UserID2
    为了快速得到一个人的好友列表,查询时用 UNION ALL,不是 UNION
    如果为了再高效,加入缓存层(Redis 或 Memcached)

评论