在数据量较小的情况下可使用limit
查询来实现分页查询。
在数据量大的情况下使用建立主键或唯一索引来实现,另外可通过order by
对其排序
1. limit
通过页码page
、每页显示的条数amount
两个参数来分页查询数据库中的数据,比如
# 从第m条记录开始查询n个记录
select * from student limit m, n
# 所以,分页查询age页、amount条记录的sql语句如下
select * from student limit (page - 1) * amount, amount;
2. 唯一索引
建立主键或唯一索引 index_id
。场景:数据量达到万级或百万级时
select * from student
where index_id > (page - 1) * amount
limit amount;
3. 排序
基于数据排序。场景:当需要返回的数据是顺序或者逆序时。order by ... ASC
表示顺序(默认),order by ... DESC
表示逆序。
select * from student
where index_id > (page - 1) * amount
order by index_id
limit amount;