在后端项目中老是避免不了admin治理,当背景治理须要展现数据时就会须要用到分页,接下来在文中中将为人人分享的时MySQL怎样完成分页查询,具有肯定的参考作用,愿望对人人有所协助。
【引荐课程:MySQL教程】
平常状况下在MySQL中举行分页查询时,会用到limit查询,而且在查询中都会运用到order by来举行排序。接下来将细致引见MySQL是怎样完成分页查询的
分页需求:
客户端经由过程通报start(页码),limit(每页显现的条数)两个参数去分页查询数据库表中的数据,MySql数据库供应分页的函数有limit m,n,然则该函数的用法和我们的需求不一样,所以就须要依据实际状况去改写合适本身的分页语句。例
查询第1条到第10条的数据的sql是:
select * from table limit 0,10;
对应我们的需求就是查询第一页的数据:
select * from table limit (1-1)*10,10;
从上面的剖析我们能够得出分页sql的花样是:
select * from table limit (start-1)*limit,limit;
个中start是页码,limit是每页显现的条数。
竖立主键或许唯一索引
在数据量较小的时刻运用 limit 举行数据分页在机能上面不会有显著的迟缓,然则当数据量达到了万级或百万级时,sql语句的机能将会影响数据的返回。这是就要运用主键或许是唯一索引来替代limit举行数据分页
例:返回10到50之间的数据
设主键或唯一索引为demo_id
select * from table where demo_id > (pageNo-1)*pageSize limit pageSize;
基于数据再排序
当须要返回的信息要按递次或许逆序时,就须要对上面的数据举行排序。可用order by ASC示意递次,order byDESC示意逆序,平常状况下默许的为递次
例:返回的数据遵照demo_id的递次举行分列
select * from table where demo_id > (pageNo-1)*pageSize order by demo_id limit pageSize;
总结:以上就是本篇文章的全部内容了,愿望对人人有所协助
以上就是MySQL怎样完成分页查询的细致内容,更多请关注ki4网别的相干文章!