1. Database,其实 @mysqlops 回答就是微薄最基本的数据库方式,我在上面做一下扩展。

微薄内容表A:tid uid src_tid content timeline,其中 tid 是微薄的 ID (自增量),src_tid[1]为转发的源 tid 。

话题表B:kid title lastupdatime total,total是话题总数,kid 是话题的ID (自增量)

话题关联表C:id tid kid,id无意义

@用户关联表D:id uid tid,这里的uid是指被提及人的uid,id无意义

收听用户关联表E:id uid follow_uid

上面的 timeline、lastupdatime 均为“发帖时间”,其中timeline是永久不变的字段, lastupdatime 为“该话题最后发帖时间”,属于冗余字段,等同于 SELECT TOP 1 timeline FROM A INNER JOIN C ON C.tid = A.tid WHERE C.kid = #话题id# ORDER BY A.timeline DESC。[1] src_tid 为何可以这样设计的原因请阅读 "4.发微薄" SQL:

follow 用户列表:SELECT follow_uid FROM E WHERE uid = 102

微薄首页微薄列表:SELECT content,(SELECT content FROM A AS a2 WHERE a2.tid = a1.src_tid AND a1.src_tid > 0) AS src_content FROM A AS a1 WHERE uid IN (SELECT follow_uid FROM E WHERE uid = 102) ORDER BY timeline DESC

某 #话题# 列表:SELECT A.content,(SELECT content FROM A AS a2 WHERE a2.tid = a1.src_tid AND a1.src_tid > 0) AS src_content FROM A AS a1 INNER JOIN C ON C.tid=A.tid WHERE C.kid=#话题id# ORDE BY A.timeline DESC

@我 的列表:SELECT A.content,(SELECT content FROM A AS a2 WHERE a2.tid = a1.src_tid AND a1.src_tid > 0) AS src_content FROM A AS a1 INNER JOIN D ON D.tid=A.tid WHERE D.uid=102 ORDE BY A.timeline DESC

转播列表:SELECT content,uid FROM A WHERE src_tid = 源tid ORDE BY A.timeline DESC

mysql 微博 数据表_微博数据库如何设计-百度经验相关推荐

  1. mysql 微博 数据表_推荐:新浪微博,腾讯微博 mysql数据库主表设计

    用户信息表(t_user_info) 字段名称 字节数 类型 描述 User_id 4 uint32 用户编号(主键) User_name 20 Char[20] 名称 Msg_count 4 uin ...

  2. php mysql清空数据表_如何清空phpmyadmin数据库

    方法一:通过PhpMyAdmin勾选数据表.手动删除 这是一个传统的方法,手动勾选然后删除: 登录PhpMyAdmin,选择你的mysql数据库名进入>点击结构>选择您要删除的数据表 移动 ...

  3. python抓取微博数据中心_微博爬虫开源项目汇总大全

    作者:阿橙 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模 ...

  4. 创建student数据表_创建数据库、表和更改表

    终端操作 第一步当然是打开终端,然后就是输入代码喽: mysql -u root -p 然后登陆成功,可以看到你的版本号:我的是8.0.18.后续都是这个版本. 创建数据库: CREATE DATAB ...

  5. mysql 修复数据表 批量_MySQL数据库迁移与MySQL数据库批量恢复

    一.MySQL数据库迁移或备份 将相关数据库数据文件直接迁移方式 1. 了解使用InnoDB引擎创建数据库所产生的文件 使用MySQL InnoDB引擎所产生的文件(三个文件都很重要) .ibd:包含 ...

  6. 改变mysql的数据编码格式_修改数据库编码格式(转)

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:&g ...

  7. mysql导出数据意义_导出数据库的意义

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  8. mysql留存数据表_用mysql统计留存率

    分析中留存是个非常重要的指标,很多数据分析平台都提供留存数据的web端展现服务 那么,如何基于一个用户行为表,用mysql得到留存数据呢? 基于一个日常的用户行为表(比如登陆,测量等),用mysql直 ...

  9. mysql 复制数据_MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如 ...

最新文章

  1. 欧阳自远:有个性的嫦娥12345,如何不重复美国探月路?
  2. iOS多线程GCD 研究
  3. php网页多个倒计时,怎么实现一个页面有多个倒计时同时进行
  4. Windows 查看端口占用
  5. 关于Python3.6下登陆接口的尝试
  6. 关于php的字符串编码
  7. 《WEB渗透一.信息收集》
  8. 京东面试Java后台--2018年9月16号(星期日)
  9. 服务器后端开发,学什么编程语言?
  10. element ui 中 el-checkbox-group 点击一个全部选中的问题
  11. 硬件设计人员制作电路板需提供的材料
  12. 纯CSS3制作逼真的iphone 6手机模型
  13. 未来十年Python的前景会怎样?(知乎)
  14. SELinux策略语言--类型强制(编写TE规则)
  15. luogu1000 超级玛丽游戏
  16. 大数据可视化多个模板案例(前端)
  17. 便携式液晶驱动板卡方案可支持1080P能驱动 HBR 4LANE EDP 接口的液晶面板有一个 miniHDMI 接口,两个 Type-C 信号接口。支持 HDR 高动态。
  18. 资料员培训建筑八大员培训工程施工技术资料管理的依据和实例
  19. MYSQL刷题题解_上升的温度
  20. Wu201451082127

热门文章

  1. 启用nat模式 路由模式_如何在HTML电子邮件中启用暗模式:您需要了解的一切。...
  2. 2014全国计算机等级考试大纲,2014全国计算机等级考试大纲级.doc
  3. C++的四种强制转换
  4. 利用 Google API 调用谷歌地图 演示1
  5. 如何给员工或者客户做产品培训?
  6. C# 类对象数据存储(Object自定义序列化)
  7. 狗狗先天遗传性格如何改变
  8. vTPM环境部署(ubuntu)
  9. 51nod lyk与gcd
  10. Python的import this 惊喜彩蛋:Python之禅(The Zen of Python)