个人简单猜测,如有雷同,纯属巧合!有错误请指正!

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 关注 表设计_新浪微博中的关注功能是如何设计表结构的?相关推荐

  1. mysql 关注 表设计_mysql - 新浪微博中的关注功能是如何设计表结构的?

    问 题 新浪微博中,假如a关注了200个用户,300个用户关注了a,点解的时候会看到所有关注a或者a关注的用户,这种表结构是如何实现的? 解决方案 个人简单猜测,如有雷同,纯属巧合!有错误请指正! u ...

  2. mysql分库负载均衡_订单模块以及负载均衡和分库分表

    第202次(订单模块以及负载均衡和分库分表) 学习主题:订单模块以及负载均衡和分库分表 1. ego-rpc_ego-manager项目发布 (1) 描述ego-rpc项目发布需要什么插件,做哪些配置 ...

  3. mysql not in优化_实践中如何优化MySQL(收藏)

    SQL语句的优化: 1.尽量避免使用子查询 3.用IN来替换OR 4.LIKE前缀%号.双百分号._下划线查询非索引列或*无法使用到索引,如果查询的是索引列则可以 5.读取适当的记录LIMIT M,N ...

  4. mysql in过大_项目中常用的 19 条 MySQL 优化

    本文原载于 SegmentFault 社区 作者:zhangqh 整理编辑:SegmentFault 在写文章之前,首先感谢飞友科技陆老师提供的文档. 声明一下:下面的优化方案都是基于 " ...

  5. 网上教学系统mysql课程设计_基于学生信息管理系统的数据库系统课程设计(MySQL)...

    题目:学生信息管理系统 1 系统需求分析 学校每年都有新生入学.老生毕业,还有其他各种人事变动.如何有效地管理这些学生 的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能. 1 ...

  6. mysql select符合查询_数据库select group by 和having语句 多表连接查询 复合查询

    1.SELECT --group by 子句 group by子句按照指定的列column_name对表数据进行分组 group by 后面跟的列也叫分组特性列 使用group by后,能选择的列   ...

  7. mysql 常用优化方案_项目中常用的 19 条 MySQL 优化方案

    声明一下:下面的优化方案都是基于 " Mysql-索引-BTree类型 " 的 一.EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划. 下面来个简单 ...

  8. e - 数据结构实验之查找五:平方之哈希表_面试中常被问到的Hash表,你了解吗

    #新人扶持计划# Hash表在面试中经常被问到,今天我们来了解下. Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组.链表以及二叉排序树等相比较有很明显的区别,它能够 ...

  9. mysql连接方式左联_数据库中的左连接(left join)和右连接(right join)区别 | 改变自己...

    Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接where只影响左表. Left Join select ...

最新文章

  1. 攻下《JavaScript高级程序设计》——第二章 在HTML中使用JavaScript
  2. VSTS Code Analysis 错误 CA1014 CLSCompliantAttribute 及Suppress Message (镇压Code Ananlysis)...
  3. (转载)详解Hive配置Kerberos认证
  4. 总帐科目字段选择存储在表 T004F 中;科目分配存储在表 T162K 中。
  5. Android | Sqlite3
  6. 智慧交通day02-车流量检测实现14:代码汇总+问题修正
  7. 基础编程题目集 7-3 逆序的三位数 (10 分)
  8. 【英语学习】【WOTD】hoopla 释义/词源/示例
  9. 【51nod】最大子段和
  10. [No000083]文件与文件夹操作
  11. linux 3.2.0 卸载,linux python3编译以及 卸载,python默认为python3 ,pip默认为pip3,亲测版...
  12. android参考文献 外文,android开发外文参考文献
  13. N1盒子使用T1遥控和电视一起开关机以及按键设置
  14. 购买成功订单详情html,订单成功页面功能实现
  15. ios MultipeerConnectivity蓝牙通讯
  16. opencv将RGB转成YIQ
  17. Handsontable使用教程 含授权码LicenseKey
  18. vuex的commit和dispatch
  19. PostgreSQL:“more than one owned sequence found“异常问题解决
  20. ESP32硬件参考详细说明

热门文章

  1. 【转】paypal争议/投诉
  2. 用html+css做出一个地下城游戏网站页面,新人练手推荐,带源码
  3. 自己centos7系统制作iso镜像,并新建虚拟机
  4. com3d2 自用插件及下载地址
  5. WPF/Silverlight深蓝团队悄悄登陆了
  6. 两种双卡Karbonn手机
  7. 新思路计算机二级教育机构排行,新思路教育·
  8. linux中creat-file函数,c语言createfile函数用法?
  9. 浅谈美式与日式角色扮演游戏的差异与融合
  10. GSM手机、CDMA手机、3G手机、4G手机