精华内容
下载资源
问答
  • 使用MySQL实现分页查询

    千次阅读 多人点赞 2020-05-21 01:16:55
    本文关键字:MySQL分页查询、真分页、假分页、LIMIT。在项目开发当中,经常要实现分页功能,在面试时也会经常被问到:什么是分页。这是因为在一个页面上能够显示的数据是有限的,而存放在数据库中的数据往往很多,...

    写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

    • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
    • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
    • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    使用MySQL实现分页查询

    本文关键字:MySQL、分页查询、真分页、假分页、LIMIT


    在项目开发当中,经常要实现分页功能,在面试时也会经常被问到:什么是分页。这是因为在一个页面上能够显示的数据是有限的,而存放在数据库中的数据往往很多,我们必须将这些数据安放到不同的页面中去。

    一、分页

    1. 什么是分页

    一般在客户端实现分页功能的时候,要显示当前页的数据、当前所在页数、临近页面的按钮以及总页数等等。这些数据随着翻页的进行能够动态的变化,为了实现这样的效果,一般会采取两种办法:真分页假分页。这样的划分方式是从与数据库的交互方式出发的,是每次翻页时都进行查询还是一次性查出所有的数据。

    2. 真分页

    真分页指的是每次在进行翻页时都只查询出当前页面的数据,特点就是与数据库的交互次数较多,但是每次查询的数据量较少,数据也不需要一直保存在内存中。适用于数据量比较大的场景,数据不适合全量查出的情况。

    3. 假分页

    假分页指的是对于要显示的数据一次性全部查出,一直存在在服务端或客户端,在前端进行分页或由服务端控制分页。将根据当前所在页来计算应该显示的数据所在下标,用循环取出目标数据。只有当会话断开或页面关闭,相应的资源才会被释放。

    4. 缓存层

    真分页和假分页都要和数据库进行交互,对于真分页来说不需要担心数据同步的问题,因为每次都是查询出最新的,但是数据库的负担会很重,尤其是用户量大的情况下。
    假分页可以在一定程度上减轻数据库的压力,但是数据不能及时得到同步,除非重新请求或页面刷新。
    一般在企业中会有缓存层的存在,既能有效降低数据库的压力,又能及时的进行数据同步。在对数据库中的数据进行修改后,要将变更后的数据及时同步到缓存层,在进行数据查询时从缓存层获取。

    二、MySQL实现分页

    本文将介绍如何通过真分页的方式,每次取出所需数据。对于不同的数据,实现分页有不同的方式,在MySQL中可以使用LIMIT来限制查询出的数据。

    1. LIMIT用法

    LIMIT出现在查询语句的最后,可以使用一个参数或两个参数来限制取出的数据。其中第一个参数代表偏移量:offset(可选参数),第二个参数代表取出的数据条数:rows。

    • 单参数用法

    当指定一个参数时,默认省略了偏移量,即偏移量为0,从第一行数据开始取,一共取rows条。

    /* 查询前5条数据 */
    SELECT * FROM Student LIMIT 5;
    
    • 双参数用法

    当指定两个参数时,需要注意偏移量的取值是从0开始的,此时可以有两种写法:

    /* 查询第1-10条数据 */
    SELECT * FROM Student LIMIT 0,10;
    /* 查询第11-20条数据 */
    SELECT * FROM Student LIMIT 10 OFFSET 10;
    

    2. 分页公式

    • 总页数计算

    在进行分页之前,我们需要先根据数据总量来得出总页数,这需要用到COUNT函数和向上取整函数CEIL,SQL如下:

    /* 获得数据总条数 */
    SELECT COUNT(*) FROM Student;
    /* 假设每页显示10条,则直接进行除法运算,然后向上取整 */
    SELECT CEIL(COUNT(*) / 10) AS pageTotal FROM Student;
    
    • 核心信息
      • 当前页:pageNumber
      • 每页数据量:pageSize

    在实际操作中,我们能够得到的信息有当前所在页以及每页的数据量,同时要注意一下是否超出了最大页数。以每页10条为例,则前三页的数据应为:

    • 第1页:第1~10条,SQL写法:LIMIT 0,10
    • 第2页:第11~20条,SQL写法:LIMIT 10,10
    • 第3页:第21~30条,SQL写法:LIMIT 20,10

    据此我们可以总结出,LIMIT所需要的两个参数计算公式如下:

    • offset:(pageNumber - 1) * pageSize
    • rows:pageSize

    扫描下方二维码,加入官方粉丝微信群,可以与我直接交流,还有更多福利哦~

    在这里插入图片描述

    展开全文
  • 本篇文章主要介绍了nodejs mysql 实现分页的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • MySql实现分页查询的SQL

    千次阅读 2018-06-02 09:18:25
    摘要:MySql数据库实现分页查询的SQL语句写法! 一:分页需求: 客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该...

    摘要:MySql数据库实现分页查询的SQL语句写法!

    一:分页需求:

    客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的需求不一样,所以就需要我们根据实际情况去改写适合我们自己的分页语句,具体的分析如下:

    比如:

    查询第1条到第10条的数据的sql是:select * from table limit 0,10; ->对应我们的需求就是查询第一页的数据:select * from table limit (1-1)*10,10;

    查询第10条到第20条的数据的sql是:select * from table limit 10,20; ->对应我们的需求就是查询第二页的数据:select * from table limit (2-1)*10,10;

    查询第20条到第30条的数据的sql是:select * from table limit 20,30; ->对应我们的需求就是查询第三页的数据:select * from table limit (3-1)*10,10;

    二:通过上面的分析,可以得出符合我们自己需求的分页sql格式是:select * from table limit (start-1)*limit,limit; 其中start是页码,limit是每页显示的条数。

    展开全文
  • MySql实现分页查询的SQL,mysql实现分页查询的sql语句

    万次阅读 多人点赞 2016-05-23 14:44:19
    摘要:MySql数据库实现分页查询的SQL语句写法! 一:分页需求: 客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,...

    摘要:MySql数据库实现分页查询的SQL语句写法!


    一:分页需求:

    客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的需求不一样,所以就需要我们根据实际情况去改写适合我们自己的分页语句,具体的分析如下:

    比如:

    查询第1条到第10条的数据的sql是:select * from table limit 0,10;   ->对应我们的需求就是查询第一页的数据:select * from table limit (1-1)*10,10;

    查询第10条到第20条的数据的sql是:select * from table limit 10,20;  ->对应我们的需求就是查询第二页的数据:select * from table limit (2-1)*10,10;

    查询第20条到第30条的数据的sql是:select * from table limit 20,30;  ->对应我们的需求就是查询第三页的数据:select * from table limit (3-1)*10,10;


    二:通过上面的分析,可以得出符合我们自己需求的分页sql格式是:select * from table limit (start-1)*limit,limit; 其中start是页码,limit是每页显示的条数。


    展开全文
  • 用PHP MYSQL实现分页查询.pdf
  • mysql实现分页查询

    千次阅读 2018-09-23 00:44:58
    1.查询语句 select 表字段1,表字段2,... from 表名 limit 0,10; 2.核心关键字 limit:属于服务端分页,适合于查询数据量比较大的项目 0:显示第1页 10:每页显示10条 ...
    1.查询语句
    
    select 表字段1,表字段2,... from 表名 limit 0,10;
    
    2.核心关键字
    
    limit:属于服务端分页,适合于查询数据量比较大的项目
    
    0:显示第1页
    
    10:每页显示10条

     

    展开全文
  • 用PHP MySQL实现分页查询及显示.pdf
  • MySQL实现分页查询数据

    千次阅读 2019-03-13 20:57:51
    ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适应场景: 适用于数据量较少的情况(元组百/千级) ---原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外...
  • MySQL实现分页查询

    2018-07-10 09:25:32
    limit 基本实现方式一般情况下,客户端通过传递 pageNo(页码)、pageSize(每页条数)两个参数去分页查询数据库中的数据,在数据量较小(元组百/千级)时使用 MySQL自带的 limit 来解决这个问题:收到客户端{page...
  • JDBC与MySQL实现分页查询技术

    万次阅读 2019-01-20 17:10:24
    由于通过ResultSet的光标实现数据分页存在占用大量资源等性能方便的缺陷,所以,在实际开发中,通过采用数据库的分页机制来实现分页查询功能更为上上之策。 下面我就通过MySQL数据库提供的分页机制来作为案列。 创建...
  • MySql实现分页查询

    2018-11-14 09:19:00
    【转】MySql实现分页查询的SQL,mysql实现分页查询的sql语句 (转)   http://blog.csdn.net/sxdtzhaoxinguo/article/details/51481430 摘要:MySQL数据库实现分页查询的SQL语句写法!   ...
  • 主要介绍了mysql分页原理和高效率的mysql分页查询语句,大家参考使用吧
  • MySQL实现分页查询 imit 基本实现方式 一般情况下,客户端通过传递 pageNo(页码)、pageSize(每页条数)两个参数去分页查询数据库中的数据,在数据量较小(元组百/千级)时使用 MySQL自带的 limit 来解决这个问题...
  • mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习。
  • 本篇文章主要介绍了SpringMVC+Mybatis实现Mysql分页数据查询的示例,具有一定的参考价值,有兴趣的可以了解一下
  • 通过SQL 查询分析器,显示比较:我的结论是: 分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句 分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句 分页方案三:(利用...
  • MySQL分页实现

    2019-03-16 01:20:01
    NULL 博文链接:https://hunnuxiaobo.iteye.com/blog/399994
  • php 和 mysql 实现 分页

    2018-07-05 17:56:55
    php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 ...
  • 分页功能是我们日常开发中经常会遇到的,下面这篇文章主要给大家介绍了Spring MVC+MyBatis+MySQL实现分页功能的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
  • 主要给大家介绍了关于利用Spring MVC+Mybatis实现Mysql分页数据查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
  • oracle和mysql实现分页查询

    千次阅读 多人点赞 2020-07-29 20:56:38
    oracle实现分页查询 使用伪劣rownum实现分页查询 //可以运行 select rownum from emp where rownum<6; //不可以运行 select rownum from emp where rownum>6; //不可以运行,无结果 select rownum from emp ...
  • 使用html,js,php,mysql实现分页的一个Demo,简单易懂,适合入门学习使用。下载后先去执行sql文件的内容,然后在本地服务器运行即可看到效果。
  • MFC连接MYSQL实现分页

    2019-12-02 15:07:39
    MFC连接mysql数据库实现分页效果,实际测试完美分页。原创博客地址https://blog.csdn.net/qq_37529913/article/details/103347527
  • 数据库:mysql。 语法 select * from table_name limit start, count; start和count 类型是int。 start 从什么位置开始查询。 count 查询的记录(行)数。 如 select * from table_name limit 5,10; 表示从表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,016
精华内容 35,606
关键字:

mysql怎么实现分页查询

mysql 订阅