欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL如何实现分页查询

程序员文章站 2023-12-22 11:22:34
...
MySQL中实现分页查询:在数据量较小的情况下可使用limit查询来实现分页查询,在数据量大的情况下使用建立主键或唯一索引来实现,另外可通过order by对其排序

在后端项目中总是避免不了admin管理,当后台管理需要展示数据时就会需要用到分页,接下来在文中中将为大家分享的时MySQL如何实现分页查询,具有一定的参考作用,希望对大家有所帮助。

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如何实现分页查询的详细内容,更多请关注其它相关文章!

相关标签: 分页查询

上一篇:

下一篇: