mysql游标分页查询实现_MySQL采用游标分页的方式,“下一页”很好实现,那“上一页”如何实现呢?...

本文讨论了如何在MySQL中使用游标进行分页查询,实现了“下一页”功能,但提出了在不改变URL参数的情况下实现“上一页”的挑战。作者考虑了改变查询顺序和利用JavaScript的history.back(),但寻求更优解决方案。评论中提供了通过正负last_id或调整路由规则的方法来解决此问题,并指出cursor虽适合无限加载,但在分页场景下,传统的分页方式可能更为合适。
摘要由CSDN通过智能技术生成

为让mysql达到最佳查询性能,我将分页查询改为cursor查询方式:

select * from reply where reply_id > last_id limit 20 order by reply_id ASC;

上面的last_id为本页最后一条回复的reply_id,这样就能实现“下一页”的查询了,但是“上一页”如何实现呢?

我想过改变排列顺序

select * from reply where reply_id < first_id limit 20 order by reply_id DESC;

这样还要在url中添加一个参数,我想保持url路由为www.example.com/reply/last_id,即不添加另外一个参数如:www.example.com/reply/last_id/direction/prev 这样,我想过用javascript的history.back(),但感觉还是很不靠谱.请问有没有更好的实现方式?

回复内容:

为让mysql达到最佳查询性能,我将分页查询改为cursor查询方式:

select * from reply where reply_id > last_id limit 20 order by reply_id ASC;

上面的last_id为本页最后一条回复的reply_id,这样就能实现“下一页”的查询了,但是“上一页”如何实现呢?

我想过改变排列顺序

select * from reply where reply_id < first_id limit 20 order by reply_id DESC;

这样还要在url中添加一个参数,我想保持u

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值