即时通讯数据库好友关系(一对多)应该怎样设计?

问1:

比如一个帐户的号码,年龄,性别,说明等用一张表完全可以容纳下了,但每个帐户有很多的好友,好友放这张表里不太好办吧?

是不是要为每一个帐户新建一张表来存储好友?

问2:如果是这个不是好友而是礼物数呢?意思就是我是楼主,楼主的好友,我要送礼物给楼主的好友?(待解)

问1解决:

要建立好友关系表。

说明谁是谁的好友,反过来不成立的。
按照QQ的行为,假设我是LZ(楼主)的好友,那么就有关系:我->LZ(楼主)
LZ是我的好友,就有:LZ->我
假设我们互为好友,就有:LZ->我 和 我->LZ
如果大了,好友关系表要分表。例如:1-1000的好友关系存放在A表,1001-2000的好友关系存放在B表。
至于要不要分表,看你的IM的系统容量和你用的数据库的性能。

每个帐户都得有一个系统内部识别的ID(一般用整形(2、4、8字节))
好友关系表就是这些ID的一种组合,通常2-3个整形字段就可以了,按发起ID做一个簇索引
这样的表,记录虽然很多,绝对容量并不大
1(用户基本信息表,内含 ID)对多(好友关系表,ID&ID...)

待解。

即时通讯数据库好友关系(一对多)应该怎样设计?相关推荐

  1. mysql好友关系数据表设计_即时通讯数据库好友关系(一对多)应该怎样设计?...

    [MYSQL里面有如下的表  user:id username photo:id name photo_favour(图片收藏关系表):photo_id user_id假设这几个表都相当大,需要进行分 ...

  2. 即时通讯技术 好友列表实现

    在IM通讯中,通常需要管理自己的小伙伴,经常联系的,重要的用户需要标识在同一用户列表里,方便自己快速联系以及查看好友动态.那么如何可以做到类似QQ的好友列表功能呢,下面以一款在市面上功能强大的SDK为 ...

  3. 即时通讯系统及实现公共好友分组的方法

    即时通讯系统及实现公共好友分组的方法 本发明公开了一种在即时通讯系统中实现公用 好友分组的方法,所述即时通讯系统包括即时通讯 服务器和与该即时通讯服务器交互的客户端. 该方法为:按预定的分组方式创建公 ...

  4. 酷信即时通讯开放平台和支付系统简述

    一.通过网页申请成为开发者,审核通过后集成开放平台SDK到自己的APP或游戏中,运行时如果未安装酷信IM则提示安装,否则提示是否授权使用酷信IM帐号登录. 二.登录后,可分享给酷信即时通讯的好友.群组 ...

  5. 数据库建表-- 一对多/多对一/一对一/多对多 关系

     转自: https://blog.csdn.net/zhongshan_c/article/details/8210196 数据库建表-- 一对多/多对一/一对一/多对多 关系 关联映射:一对多 ...

  6. IM即时通讯开发数据库用NoSQL还是SQL?

    随着互联网大数据时代的到来,越来越多的网站.应用系统都需要支撑大量甚至海量数据存储,同时还伴有高并发.高可用.高可扩展等特性要求. 很多时候,传统的关系型数据库在应付这些已经显得力不从心,并暴露了许多 ...

  7. mysql 好友关系_【mysql】关系型数据库中好友关系实现的最佳方案是什么?

    社交类应用中,每用户与多个好友存在好友关系,设计的最佳方案是什么的呢?数据库白痴求助. 我目前想到的表设计是这样的: CREATE TABLE friend_list ( id INT PRIMARY ...

  8. 【MySQL】设置好友关系(关注、粉丝、互关)的数据库设计

    主键 关注者id 被关注者id 1 1 2 2 1 3 3 2 1 4 2 3 5 3 1 6 3 4 7 4 3 8 5 6 9 7 8 先建一张好友关系表 CREATE TABLE IF NOT ...

  9. 研究微信即时通讯的服务端、朋友圈、红包、推送等方案

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 即时通信:前端获得消息发送到服务端,服务端处理后通过推送的方式,发给接收方:Android使用长连机 ...

最新文章

  1. 详解谷歌最强NLP模型BERT(理论+实战)
  2. Python运行的17个时新手常见错误小结
  3. mysql分组函数按月份差,学习猿地-mysql如何按月份分组查询
  4. 基于ArcSDE、Oralce空间数据库冷备份与恢复
  5. zoj 1091 Knight Moves
  6. python -sorted 学习
  7. ElasticSearch的一些核心概念
  8. jquery获取前一个月日期
  9. oracle java 面试题及答案_Oracle面试题及答案
  10. 《Android测试的学习笔记》——Introduction
  11. Jenkins进阶系列之——07Jenkins纳入版本控制
  12. npoi操作word书签_word进阶小教程,小研全部都给你!
  13. 正则匹配以xx开头以xx结尾的单词(转载)
  14. ios设备备份,更新路径(mac os)
  15. python怎么取百位_#python计算结果百位500向下取整,(0-499取000,500-999取500)
  16. 2013华为工作之电信客服行
  17. 分析oracle缓慢原因,Oracle SQL执行缓慢的原因分析
  18. 机械臂matlab运动学仿真,matlab建立机械臂运动学仿真
  19. 报错原因高的地图调用mapView.onDestroy() 崩溃问题
  20. 《RefineMask:Towards High-Quality Instance Segmentation with Fine-Grained Features》论文笔记

热门文章

  1. Asp.Net+Ajax实现的宝宝RSS阅读器源码下载
  2. js函数式编程最佳实践 - 持续更新
  3. 每个成功的男人背后都有个厉害的女人,这篇文章带你看看互联网大佬们背后的女人。...
  4. 福建2022农民丰收节 国稻种芯:主会场活动在永泰隆重举办
  5. 菜鸟从硬盘安装LINUX (双启动)
  6. 今晚的福利彩票的中奖号码是
  7. 【Java】设计模式之单例模式(Singleton Pattern)
  8. 洛谷P1007 独木桥 题解
  9. php yii框架路由,yii框架如何配置路由
  10. java选择结构练习题(if部分)