作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在为提供帖子提要的 API 开发网络服务。现在,这些帖子是按时间顺序组织的,我在标记前后使用不透明的标记进行分页,这些标记基本上是时间戳。但是,我们希望从按时间顺序排列的提要转变为算法提要。虽然我可以计算帖子分数并发送第一页数据,但我不确定如何相对于此进行分页。我想对其进行快照并将其捆绑起来,例如 200 个排序后的 ID,并将它们序列化为 token 的 HMAC blob,但这对于每个请求来说都是一笔不小的开销。有没有更好的方法来处理这种分页?
最佳答案
如果你可以在数据库中存储帖子分数,你可以对它们建立索引并快速访问它们。无论如何,首页都会很快。如果您需要使用 order by rating desc limit 50 offset 10000
的大深度标准方法按评分进行分页会很慢。在这里您可以找到二阶字段 - 例如时间戳。如果有几篇帖子的比例相同 - 哪一篇应该排在最前面?将此字段添加到排序索引并查询数据库,如 where rating < ..., timestamp <... order by rating, timestamp
.
如果您经常重新计算评级,我建议将其存储在单独的表中,例如 post_id, rating
.在该表中查询 post_id
s - 它应该比遍历整个表格并在其上加入帖子更快。
关于go - 如何对订单经常更新的提要进行分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47090616/
我是一名优秀的程序员,十分优秀!