分页问题:在有置顶的情况下,处理数据的实时更新。

问题是:api接口,是一个文章列表,然后文章有置顶功能,排序方式是 置顶,置顶时间,添加时间。由于数据更新较快,如果按正常的页码分页的话,会出现数据重复的情况。之前没有置顶的时候会按照最后的那一条文章的添加时间来分页,即addtime<timestamp。加上置顶的话顺序就乱了,这种应该怎么解决比较好?

阅读 4k
2 个回答

排序规则

order by top desc,top_time desc,add_time desc

不是连续的分页的时候不要用addtime<timestamp,直接用limit分页即可。数据量小的情况下,limit不慢,假设你一页10条,100页才1000条,这个时候可能性能有一点点影响。但是 我不觉得有哪些人蛋疼翻100页的

你把置顶的文章放在缓存中或者另一张表中(文章表也有置顶文章的数据),那么你先在这边取置顶文章,然后再按之前最后一条文章的添加时间来分页,当然增加过滤条件非置顶文章。这样性能会快很多,尤其是有对“添加时间”栏位做了索引。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题