C端列表分页查询优化思路

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C端列表分页查询优化思路相关的知识,希望对你有一定的参考价值。

参考技术A 1 数据量不多,则列表信息全部缓存

2 数据量多,则根据实际情况缓存前若干页实际内容

3 若查询条件复杂,且数据量多,且不同用户内容有差异。

若是全部缓存,会有缓存的key和数据量都过大的问题。

此场景可将用户大致分类为若干种情况,异步按复杂条件过滤,内部需要缓存数据主键ID。则用户访问直接用ID查询数据再进行特别的用户差别过滤

备注:大数据量复杂查询可使用ES

mysql 分表分页查询解决思路

参考技术A 当业务上按照月份分表,但是前端h5需要分页展示,小伙伴们不知有没有遇到这个这个需求最后怎么完成的。

我这里想了一个解决思路,可能还不完善,希望能抛转引玉。

1、入参pageNo 为页号码,如果为1那么就是第一页。pageSize 可以是入参也可定死,这里定死10条。Limit 是数据偏移标记,根据入参pageNo 计算出来的,Limit=(pageNo-1)*pageSize。假设A表有41条数据符合,B表有51条数据符合,如下图。

有几种种情况   1.如果limit<A表41条 那么需要从A表中取数据,(1)如果Limit+pageSize<Count直接获取数据即可(2)如果Limit+pageSize>Count,那么需要从A 表取部分数据从B表取一部分数据。

1.如果limit>A表41条  那么需要从B表取数据,如果B数据依然不足,那么重复以上的步骤。如下图

以上是关于C端列表分页查询优化思路的主要内容,如果未能解决你的问题,请参考以下文章

MySQL分页查询limit优化的两种思路

MySQL分页查询limit优化的两种思路

MYSQL大数据量列表分页查询优化方案

优化分页的查询

es查询优化思路

mysql 分表分页查询解决思路