limit基本格式

查询第1条到第10条的数据的sql是:

1
select * from table limit 0,10;

对应我们的需求就是查询第一页的数据:

1
select * from table limit (1-1)*10,10;

从上面的分析我们可以得出分页sql的格式是:

1
select * from table limit (start-1)*limit,limit;

其中start是页码,limit是每页显示的条数。

建立主键或者唯一索引

在数据量较小时使用 limit 进行数据分页在性能上不会有明显的缓慢,当数据量达到万级到百万级时,SQL 的语句的性能会影响数据的返回。这时需要利用主键或者唯一索引进行数据分页。

假设主键或者唯一索引为 id。

select * from table where id > (pageNo-1)*pageSize limit pageSize;

基于数据再排序

当需要返回的信息为顺序或者倒序时,对上面的语句基于数据再排序。

order by asc/desc,默认为 asc (顺序)

例:返回的数据按照 id 顺序进行排列

select * from table where demo_id > (pageNo-1)*pageSize order by demo_id limit pageSize;

评论




博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

载入天数...载入时分秒... 本站使用 Volantis 作为主题 鲁ICP备-20012065号