下文我给大家简单讲讲关于优化mysql大表分页查询翻页的具体方案,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完优化mysql大表分页查询翻页的具体方案对大家多少有点帮助吧。
mysql分页查询是先查询出来所有数据,然后跳过offset,取limit条记录,造成了越往后的页数,查询时间越长一般优化思路是转换offset,让offset尽可能的小,最好能每次查询都是第一页,也就是offset为0查询按id排序的情况一、如果查询是根据id排序的,并且id是连续的这种网上介绍比较多,根据要查的页数直接算出来id的范围比如offset=40, limit=10, 表示查询第5页数据,那么第5页开始的id是41,增加查询条件:id>40 limit 10二、如果查询是根据id排序的,但是id不是连续的通常翻页页数跳转都不会很大,那我们可以根据上一次查询的记录,算出来下一次分页查询对应的新的 offset和 limit,也就是离上一次查询记录的offset分页查询一般会有两个参数:offset和limit,limit一般是固定,假设limit=10那为了优化offset太大的情况,每次查询需要提供两个额外的参数参数lastEndId: 上一次查询的最后一条记录的id参数lastEndOffset: 上一次查询的最后一条记录对应的offset,也就是上一次查询的offset+limit三,如果查询是根据其他字段,比如一般使用的创建时间(createTime)排序这种跟第二种情况差不多,区别是createTime不是唯一的,所开发云主机域名以不能确定上一次最后一条记录对应的创建时间,哪些是下一页的,哪些是上一页的这时候,增加一个请求参数lastEndCount:表示上一次查询最后一条记录对应的创建时间,有多少条是这同一时间的,这个根据上一次的数据统计根据第二种情况下计算出来的newOffset加上lastEndCount,就是新的offset,其他的处理方式和第二种一致java 示例:前端js参数,基于bootstrap table大家觉得优化mysql大表分页查询翻页的具体方案这篇文章怎么样,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。
3.修改m开发云主机域名ysql db的charset为utf-8相关推荐: Mysql Explain命令的使用与分析mysql explain命令用于显示mysql如何使用索引来处理select语句以及连接表。通过该命令可以分析出查询语句或是表结构的性能瓶…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。