按高赞排序的评论数据库怎么拿

按高赞排序的评论数据库怎么拿,第1张

从微博几年前放出来的 slides [1][2] 上看,有将关注/被关注视为 『长列表』 来针对性的解决关注/被关注的扩展性问题,猜点赞/我的点赞列表该也差不多。

这类 『长列表』 场景有一定共性:

数据规模显著高于内容类数据:发微博来自用户深思熟虑的行为,而点赞、关注是无意识行为,容易产生大规模数据;

数据分布极度不均匀:大V 与小透明的数据量差异极大,前者轻松几百万赞/关注,后者零星可怜几个赞/关注,这时按后者没有性能问题的查询在前者身上容易跪惨,而这类性能问题在早期用户活动较少时不会暴露;

有反向查询的需求:比如我点赞了你的微博,你的微博下面需要列出点赞的人的列表,我也需要看到自己点过赞的微博列表;

有基数查询的需求:需要查看点赞者数量,也需要看我点赞过的数量;

有这几个问题在,早期的单表点赞/被点赞 + 反向索引的做法会很容易遭遇存储瓶颈(数据规模大)和性能瓶颈(计数类 *** 作开销大)乃至稳定性问题(赶上无分页捞全部数据时压力山大)。

不过题主讲的 "一条微博的点赞数就可能有几十万,这个数据量对关系型数据库来说也是大到超乎想象的" 数据规模并不大,一个 shard 上突发的热点数据访问,可以通过缓存 + 读写分离 hold 住大部分问题

数据库中创建不同的表,文章表、评论表,表间通过主外键关联

表中有不同的字段,字段存储对应的数据

比如文章表中

ID文章编号

Title文章标题

Content文章内容

CreateTime创建时间

等等 多个字段存储

评论表跟文章表通过主外键关联 (比如文章ID,在评论表中也有文章ID,标识这些评论是属于某一个文章的)

你一般需要作者表、文章表、类别表、评论表,

作者表用来存放注册用户信息:用户ID、用户名、密码、发表数、最后发表日期;用户ID为主键;

文章表用来存放所有文章信息:文章ID、用户ID、类别ID、标题、正文、点击数;文章ID为主键;

类别表用来存放所有文章类别信息:用户ID、类别ID、类别名称;用户ID、类别ID为主键;

评论表用来存放所有的评论:文章ID、评论ID、评论人名称、评论内容、作者回复内容;评论ID为主键;文章ID为外键;

我以前自己写的博客系统把所有人的文章分类统一进行管理,这样可以在一个总目录下分类浏览所有文章,因为我的系统在公司内部网络运行,用户不是很多。如果你也打算这样,那么分类表设计需要麻烦一点,要么管理员维护,要么作者申请、管理员审核,要么作者先直接使用,管理员负责调整。

基本思路:在评论表中加上一个字段,用于存文章的ID,然后查询数据库的时候,通过文章的ID来取评论,这样就把评论和文章关联起来了。

具体实现涉及到如下几点:

第一、在用户评论文章的时候,要提交相应文章的ID。

第二、查询的时候,根据ID去取文章和评论,就是在SELECT的时候加上where articleID=文章id

第三、显示即可。

希望能够给你提供一个基本思路。

可以自己进行编写评论的留言板块。

1MySQL 是一种数据库。数据库定义了存储信息的结构。

2在数据库中,存在着一些表。类似 HTML 表格,数据库表含有行、列以及单元。

3在分类存储信息时,数据库非常有用。一个公司的数据库可能拥有这些表:"Employees", "Products", "Customers" 以及 "Orders"。

以上就是关于按高赞排序的评论数据库怎么拿全部的内容,包括:按高赞排序的评论数据库怎么拿、比如微博上的文章和评论也都是保存在数据库上吗那么多东西怎么保存呢、博客系统的数据库需要设计哪些表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9629111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存