即时通讯数据库好友关系(一对多)应该怎样设计?
即时通讯数据库好友关系(一对多)应该怎样设计?
问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...)
待解。
即时通讯数据库好友关系(一对多)应该怎样设计?相关推荐
- mysql好友关系数据表设计_即时通讯数据库好友关系(一对多)应该怎样设计?...
[MYSQL里面有如下的表 user:id username photo:id name photo_favour(图片收藏关系表):photo_id user_id假设这几个表都相当大,需要进行分 ...
- 即时通讯技术 好友列表实现
在IM通讯中,通常需要管理自己的小伙伴,经常联系的,重要的用户需要标识在同一用户列表里,方便自己快速联系以及查看好友动态.那么如何可以做到类似QQ的好友列表功能呢,下面以一款在市面上功能强大的SDK为 ...
- 即时通讯系统及实现公共好友分组的方法
即时通讯系统及实现公共好友分组的方法 本发明公开了一种在即时通讯系统中实现公用 好友分组的方法,所述即时通讯系统包括即时通讯 服务器和与该即时通讯服务器交互的客户端. 该方法为:按预定的分组方式创建公 ...
- 酷信即时通讯开放平台和支付系统简述
一.通过网页申请成为开发者,审核通过后集成开放平台SDK到自己的APP或游戏中,运行时如果未安装酷信IM则提示安装,否则提示是否授权使用酷信IM帐号登录. 二.登录后,可分享给酷信即时通讯的好友.群组 ...
- 数据库建表-- 一对多/多对一/一对一/多对多 关系
转自: https://blog.csdn.net/zhongshan_c/article/details/8210196 数据库建表-- 一对多/多对一/一对一/多对多 关系 关联映射:一对多 ...
- IM即时通讯开发数据库用NoSQL还是SQL?
随着互联网大数据时代的到来,越来越多的网站.应用系统都需要支撑大量甚至海量数据存储,同时还伴有高并发.高可用.高可扩展等特性要求. 很多时候,传统的关系型数据库在应付这些已经显得力不从心,并暴露了许多 ...
- mysql 好友关系_【mysql】关系型数据库中好友关系实现的最佳方案是什么?
社交类应用中,每用户与多个好友存在好友关系,设计的最佳方案是什么的呢?数据库白痴求助. 我目前想到的表设计是这样的: CREATE TABLE friend_list ( id INT PRIMARY ...
- 【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 ...
- 研究微信即时通讯的服务端、朋友圈、红包、推送等方案
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 即时通信:前端获得消息发送到服务端,服务端处理后通过推送的方式,发给接收方:Android使用长连机 ...
最新文章
- 详解谷歌最强NLP模型BERT(理论+实战)
- Python运行的17个时新手常见错误小结
- mysql分组函数按月份差,学习猿地-mysql如何按月份分组查询
- 基于ArcSDE、Oralce空间数据库冷备份与恢复
- zoj 1091 Knight Moves
- python -sorted 学习
- ElasticSearch的一些核心概念
- jquery获取前一个月日期
- oracle java 面试题及答案_Oracle面试题及答案
- 《Android测试的学习笔记》——Introduction
- Jenkins进阶系列之——07Jenkins纳入版本控制
- npoi操作word书签_word进阶小教程,小研全部都给你!
- 正则匹配以xx开头以xx结尾的单词(转载)
- ios设备备份,更新路径(mac os)
- python怎么取百位_#python计算结果百位500向下取整,(0-499取000,500-999取500)
- 2013华为工作之电信客服行
- 分析oracle缓慢原因,Oracle SQL执行缓慢的原因分析
- 机械臂matlab运动学仿真,matlab建立机械臂运动学仿真
- 报错原因高的地图调用mapView.onDestroy() 崩溃问题
- 《RefineMask:Towards High-Quality Instance Segmentation with Fine-Grained Features》论文笔记