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分页查询报错: 前提: 1.每页1000条数据 2.查到57页的时候,就报错了 以下是错误信息: org.springframework.jdbc.UncategorizedSQLExcep ...

  2. MySQL分页查询方法及优化

    MySQL分页查询方法及优化 http://uusama.com/458.html

  3. 零基础带你学习MySQL—分页查询(十八)

    零基础带你学习MySQL-分页查询(十八)

  4. mysql中如何分页查询_MySQL_mysql分页原理和高效率的mysql分页查询语句,以前我在mysql中分页都是用的 l - phpStudy...

    mysql分页原理和高效率的mysql分页查询语句 以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我 ...

  5. java的mysql分页查询语句怎么写_java的mysql连库 增删改查语句、分页查询语句大全...

    //代码复制出来,修改一下bean,加载一下jar包,能直接用的,不懂加我Q 983331283 package cn.tootoo.entity; public class Page { priva ...

  6. MySQL分页查询商品订单列表

    MySQL分页查询商品订单列表 题目 简单表设计并且写出sql语句,购物订单系统里面"所有订单"功能,一个订单包含多个产品,一个产品也可能被不同的订单包含,请写出针对于产品名称搜索 ...

  7. java mysql 分页查询_MySQL分页查询方法及优化

    当数据库的数据量很大时,一次性查询结果就会变得很慢,为了提高查询效率,我们可以使用MySQL的分页查询功能.本文就为大家带来MySQL分页查询方法及优化. 推荐阅读: 分页查询方法: 在MySQL中, ...

  8. oracle sql 全是子查询查询速度太慢如何优化_如果面试官问你如何优化mysql分页查询,请把这篇文章甩给他!...

    在我们日常开发中,分页查询是必不可少的,可以说每干后端程序猿大部分时间都是CURD,所以分页的查询也接触的不少,你们都是怎么实现的呢?前不久的一段时间,我的一个同事突然找我寻求帮助,他说他写的sql查 ...

  9. mysql分页查询语法

    一.limit语法 SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指 ...

  10. mysql java 分页实体类_Java GUI+mysql+分页查询

    1.要求 : 创建一个学生信息管理数据库 2.实现分页查询 代码如下: a)学生实体类: /***@author: Annie * @date:2016年6月23日 * @description:学生 ...

最新文章

  1. catia 快捷键 激活零件_CATIA基本操作技巧
  2. QT中使用QCustomplot设置坐标原点在左上或者反转镜像坐标轴
  3. MySQL数据库的datetime与timestamp
  4. SpringMVC转发和重定向
  5. 用Docker部署TensorFlow Serving服务
  6. 先序创建二叉树,中序、先序、后序遍历
  7. 导出FLASH用反射的时候要注意的问题
  8. typora高级设置字体_设计黑金风格高级感logo
  9. SCI、EI、ISTP收录检索技巧及核心期刊投稿导引
  10. vector begin()用法
  11. IDEA搜索插件时显示search results are not loaded check the internet connection解决办法
  12. pat乙级【数列的片段和 (20分)】测试样例修改(第二个测试点)
  13. java 线程休眠 假死,java多线程-jstack线程阻塞问题排查
  14. 如何使用JGIT在远程仓库获取提交详情记录
  15. MySQL数据排序asc、desc
  16. linux运行vb程序,Linux可执行文件ELF结构及程序加载运行
  17. 2020年燃料电池行业研究及产业链梳理
  18. mysql怎么样修改schema_MySQL 5.6使用pt-online-schema-change在线修改大表字段长度
  19. 渗透技巧——程序的降权启动
  20. 【UE】直升机沿样条线移动

热门文章

  1. python request url 转义_Python多线程抓取Google搜索链接网页
  2. angularjs全栈开发知乎_为什么你要去尝试全栈开发?
  3. Springboot 请求数据
  4. WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
  5. 第一批鸿蒙系统手机型号,鸿蒙2.0第一批机型名单正式披露!花粉却感叹:华为不够厚道!...
  6. 配置ssd为缓存_撕下贴牌的画皮!快速确定SSD性能等级,关键在这3步
  7. vs html自动对齐,vscode esLint 保存时 自动对齐
  8. mysql3308_mysql 5.7.16多源复制
  9. kcbzps oracle_快速进行Oracle安装及配置
  10. 【小白学习C++ 教程】十八、C++ 中文件处理