原文地址:https://blog.csdn.net/starleejay/article/details/78802610

limit 基本实现方式

一般情况下,客户端通过传递 pageNo(页码)、pageSize(每页条数)两个参数去分页查询数据库中的数据,在数据量较小(元组百/千级)时使用 MySQL自带的 limit 来解决这个问题:

收到客户端{pageNo:1,pagesize:10}
select * from table limit (pageNo-1)*pageSize, pageSize;

收到客户端{pageNo:5,pageSize:30}
select * from table limit (pageNo-1)*pageSize,pageSize;

建立主键或者唯一索引

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

假设主键或者唯一索引为 good_id
收到客户端{pageNo:5,pagesize:10}
select * from table where good_id > (pageNo-1)*pageSize limit pageSize;
–返回good_id为40到50之间的数据

基于数据再排序

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

select * from table where good_id > (pageNo-1)*pageSize order by good_id limit pageSize;
–返回good_id为40到50之间的数据,数据依据good_id顺序排列

[转]MySQL实现分页查询相关推荐

  1. Mysql中分页查询两个方法比较

    mysql中分页查询有两种方式, 一种是使用COUNT(*)的方式,具体代码如下 1 2 3 SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM f ...

  2. c oracle 分页工具类,Util工具类 跨Oracle、MySQL通用分页查询

    /**** 跨Oracle.MySQL通用分页查询*/public classPagingUtil { public static finalString MYSQL= "MYSQL&quo ...

  3. Mysql数据库分页查询及优化

    最近遇到个数据库分页查询问题,mysql数据库分页查询默认是升序查询,就是第一页查询的是最先插入的数据,最后一页才是最新插入的数据,弄了个小的数据库表单,记录下我的操作过程,还有优化查询速度的方法. ...

  4. 使用MySQL实现分页查询

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  5. MySQL 数据库 分页查询/聚合查询

    引言 在本篇博客简单介绍一下分页查询以及聚合查询简单操作. 分页查询 在MySQL中,分页查询一般都是使用limit子句实现,limit子句声明如下: SELECT * FROM table LIMI ...

  6. jpa mysql sql分页查询语句_JPA多条件复杂SQL动态分页查询功能

    概述 ORM映射为我们带来便利的同时,也失去了较大灵活性,如果SQL较复杂,要进行动态查询,那必定是一件头疼的事情(也可能是lz还没发现好的方法),记录下自己用的三种复杂查询方式. 环境 spring ...

  7. MySql实现分页查询的SQL,mysql实现分页查询的sql语句 (转)

    摘要:MySQL数据库实现分页查询的SQL语句写法! 一:分页需求: 客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了 ...

  8. mysql jdbc 分页查询_JDBC与MySQL实现分页查询技术

    由于通过ResultSet的光标实现数据分页存在占用大量资源等性能方便的缺陷,所以,在实际开发中,通过采用数据库的分页机制来实现分页查询功能更为上上之策. 下面我就通过MySQL数据库提供的分页机制来 ...

  9. Java web访问MySql数据库分页查询

    有时候我们查询数据库表时,但是很多时候表中的记录很多,需要显示出来的话怎么办?这时可以使用分页的方法,就是指定从数据库表的什么位置开始查询显示,以及指定显示的记录数目. Mysql数据库提供了limi ...

最新文章

  1. 某微信公众号2019 SAP模块精华帖汇总
  2. 每日一皮:你有没有过 Bug 变 Feature 的高光时刻?
  3. 阿里巴巴公司DBA笔试题
  4. 第十二届蓝桥杯C++赛后感
  5. vue 无法进入response拦截器_vue拦截器的一次实践
  6. Linux的实际操作:查询用户id切换用户su -
  7. java线程interu_Intel 10nm服务器U首曝:多线程性能提升118%
  8. matlab学习:人脸识别之LBP (Local Binary Pattern)
  9. springboot2.0集成activiti modeler
  10. 奇异值与主成分分析(PCA)
  11. Serverless会使 SaaS 商业模式过时,而开源将成为新的王者
  12. 基于虚拟帐号的邮件系统extmail(1)
  13. java 数字 下划线_数字文字中的下划线– Java 7功能
  14. Codeforces7C 扩展欧几里得
  15. 使用IConfigurationSectionHandler在web.config中增加自定义配置
  16. OSChina 周三乱弹 —— 万众期待的拉黑功能
  17. Ubuntu 下网易云音乐出现“加载失败,网络错误,可以在设置中发送反馈”问题及解决
  18. SSL 1231 容易的网络游戏
  19. HDOJ 1066 题解
  20. 抖音最新风控体系研究

热门文章

  1. 解决tomcat shutdown时的地址被占用问题
  2. 在Exchange Server 2007中使用多主机名称证书
  3. linux高级运维要会的,linux高级运维必会命令
  4. 游戏得有活动的场景:代码中生成多行多列的LinearLayout布局
  5. 运维自动化------ansible搭建
  6. 事务的传播行为和隔离级别[transaction behavior and isolated level]
  7. OpenGL的简单研究-开端
  8. java.math.BigDecimal()的用法
  9. android adb常用指令
  10. ISO9000管理体系认证申请书