分页读取

1.取m,n行数据

select top @pageSize id from tableName
where id not in (
    select top (@pageNo-1)*@pageSize id from tableName
)--SQL Server

select * from article order by publish_time desc limit 1,20   --mysql

 

2.正常的分页读取

select count(*) from article
select * from article order by publish_time desc limit 1,20 --mysql

缺点:每次都要查询总件数

3.瀑布流分页

select * from article where id<last_id order by publish_time desc limit 0,20  --只需要传递上一次的查询结果的id即可,这个方式弥补了上述常规分页带来的问题,并且拥有非常高的性能,但是缺点也显而易见,不支持跳页,不支持任意排序
                                               --,所以这个方式目前来说非常适合前端app的瀑布流排序

 

posted @ 2022-03-09 17:57  乌柒柒  阅读(46)  评论(0编辑  收藏  举报