MySQL实现分页查询的方法

这篇文章主要介绍MySQL实现分页查询的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

为永兴等地区用户提供了全套网页设计制作服务,及永兴网站建设行业解决方案。主营业务为成都网站设计、成都网站建设、永兴网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

MySQL中实现分页查询:在数据量较小的情况下可使用limit查询来实现分页查询,在数据量大的情况下使用建立主键或唯一索引来实现,另外可通过order by对其排序

在后端项目中总是避免不了admin管理,当后台管理需要展示数据时就会需要用到分页。

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实现分页查询的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


当前名称:MySQL实现分页查询的方法
文章地址:http://myzitong.com/article/gohjhc.html