mysql 关注 表设计_新浪微博中的关注功能是如何设计表结构的?
个人简单猜测,如有雷同,纯属巧合!有错误请指正!
user_relation - 用户关系表
user_id - 用户ID
follower_id - 被关注者用户ID
relation_type - 关系类型,1=关注 2=粉丝
业务逻辑处理
1 用户A关注了用户B
插入两条记录
insert user_relation(user_id,follower_id,relation_type) values(a_id,b_id,1);//增加一个关注的人
insert user_relation(user_id,follower_id,relation_type) values(b_id,a_id,2);//增加一个粉丝
2 查用户A关注的所有用户
select * from user_relation where user_id=a_id and relation_type=1
3 查用户A有多少粉丝
select * from user_relation where user_id=a_id and relation_type=2
4,5等等逻辑以此类推。。。。
设计理由
考虑到扩展性,数据量大了必定分库分表,一般按user_id取模等等算法拆分,所以没办法用follower_id查询出所有关注我的人(粉丝)。
当然如果不要扩展性或数据很小,那两个字段正着查所有我关注的人,反着查所有的关注我的人(粉丝)
mysql 关注 表设计_新浪微博中的关注功能是如何设计表结构的?相关推荐
- mysql 关注 表设计_mysql - 新浪微博中的关注功能是如何设计表结构的?
问 题 新浪微博中,假如a关注了200个用户,300个用户关注了a,点解的时候会看到所有关注a或者a关注的用户,这种表结构是如何实现的? 解决方案 个人简单猜测,如有雷同,纯属巧合!有错误请指正! u ...
- mysql分库负载均衡_订单模块以及负载均衡和分库分表
第202次(订单模块以及负载均衡和分库分表) 学习主题:订单模块以及负载均衡和分库分表 1. ego-rpc_ego-manager项目发布 (1) 描述ego-rpc项目发布需要什么插件,做哪些配置 ...
- mysql not in优化_实践中如何优化MySQL(收藏)
SQL语句的优化: 1.尽量避免使用子查询 3.用IN来替换OR 4.LIKE前缀%号.双百分号._下划线查询非索引列或*无法使用到索引,如果查询的是索引列则可以 5.读取适当的记录LIMIT M,N ...
- mysql in过大_项目中常用的 19 条 MySQL 优化
本文原载于 SegmentFault 社区 作者:zhangqh 整理编辑:SegmentFault 在写文章之前,首先感谢飞友科技陆老师提供的文档. 声明一下:下面的优化方案都是基于 " ...
- 网上教学系统mysql课程设计_基于学生信息管理系统的数据库系统课程设计(MySQL)...
题目:学生信息管理系统 1 系统需求分析 学校每年都有新生入学.老生毕业,还有其他各种人事变动.如何有效地管理这些学生 的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能. 1 ...
- mysql select符合查询_数据库select group by 和having语句 多表连接查询 复合查询
1.SELECT --group by 子句 group by子句按照指定的列column_name对表数据进行分组 group by 后面跟的列也叫分组特性列 使用group by后,能选择的列 ...
- mysql 常用优化方案_项目中常用的 19 条 MySQL 优化方案
声明一下:下面的优化方案都是基于 " Mysql-索引-BTree类型 " 的 一.EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划. 下面来个简单 ...
- e - 数据结构实验之查找五:平方之哈希表_面试中常被问到的Hash表,你了解吗
#新人扶持计划# Hash表在面试中经常被问到,今天我们来了解下. Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组.链表以及二叉排序树等相比较有很明显的区别,它能够 ...
- mysql连接方式左联_数据库中的左连接(left join)和右连接(right join)区别 | 改变自己...
Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接where只影响左表. Left Join select ...
最新文章
- 攻下《JavaScript高级程序设计》——第二章 在HTML中使用JavaScript
- VSTS Code Analysis 错误 CA1014 CLSCompliantAttribute 及Suppress Message (镇压Code Ananlysis)...
- (转载)详解Hive配置Kerberos认证
- 总帐科目字段选择存储在表 T004F 中;科目分配存储在表 T162K 中。
- Android | Sqlite3
- 智慧交通day02-车流量检测实现14:代码汇总+问题修正
- 基础编程题目集 7-3 逆序的三位数 (10 分)
- 【英语学习】【WOTD】hoopla 释义/词源/示例
- 【51nod】最大子段和
- [No000083]文件与文件夹操作
- linux 3.2.0 卸载,linux python3编译以及 卸载,python默认为python3 ,pip默认为pip3,亲测版...
- android参考文献 外文,android开发外文参考文献
- N1盒子使用T1遥控和电视一起开关机以及按键设置
- 购买成功订单详情html,订单成功页面功能实现
- ios MultipeerConnectivity蓝牙通讯
- opencv将RGB转成YIQ
- Handsontable使用教程 含授权码LicenseKey
- vuex的commit和dispatch
- PostgreSQL:“more than one owned sequence found“异常问题解决
- ESP32硬件参考详细说明