接口游标分页

由于数据库本身的的限制(以MySQL为例),以 page_num,page_size 为代表的偏移分页方式不可避免的会遇到深分页问题。
不过用户若要找符合条件的少量数据,通过翻页则十分低效,且大多用户也不会往后翻很多页,故对于C端筛选数据场景,限制分页数量增加筛选条件才是标准解决方案。有一些场景需要返回大量数据且附带一些查询条件,这种通常是 B端 业务,例如一些统计、成效数据。这时就必须要解决深分页问题。

不过,只要还用 MySQL 就不可避免受到 limit 的限制,所以 page_num,page_size 不能再用,需要使用基于游标的分页。

select id, field1, field2, field3 from table limit 10

上面是一个不带 where 筛选条件的分页语句,id 是自增字段,若每页10条数据,则上面是第1页

select id, field1, field2, field3 from table limit 10 offset 10

select id, field1, field2, field3 from table where id > 10 limit 10

select id, field1, field2, field3 from table where field1 >= a and field2 = b limit 10 offset 10

select id, field1, field2, field3 from table where field1 >= a and field2 = b and id > x limit 10

select id, field1, field2, field3 from table where field1 >= a and field2 = b order by field3 limit 10 offset 10

select id, field1, field2, field3 from table where field1 >= a and field2 = b and

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值