[转]MySQL实现分页查询
原文地址: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 Binlog Digger 4.28 【mysql日志分析工具】
- mysql事务隔离级别
- MySQL实现排名查询、并指定用户查看排名
- Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
- 硬核解析 MySQL 的 MVCC 实现原理,面试官看了都直呼内行
- c#中mysql远程连接方法及实例
- MySQL 各级别事务的实现机制
- MYSQL的随机查询的实现方法
- 《PHP、MySQL和Apache入门经典(第5版)》一2.8 MySQL权限系统简介
- 基于 JavaWeb+MySQL设计实现博客管理系统【100010346】
- 基于Java(JSP)+MySQL实现盐鱼二手物品交易网站【100010280】
- 基于Java(JSP)+MySQL实现个人与家乡展示管理平台【100010279】
- 基于Java+MySQL 实现(Web)网络考试系统【100010215】
- 基于PHP+MySQL实现(Web)单词助手网站【100010162】
- 基于Java(SSM)+MySQL实现(Web)校园二手交易市场【100010081】
- 基于C+++Mysql实现(WinForm)图书管理系统【100010034】
- 转 mysql spool_用MySQL实现类似Oracle SPOOL的功能
- python操作mysql数据库系列-操作MySql数据库(二)
- MySQL实现从其他表查询数据并插入另外一张表
- idea 社区版连接mysql数据库教程,Cannot connect to “MySQL-5.1.43“. CLIENT_PLUGIN_AUTH is required
- mysql常用语句练习-基于ecshop2.7.3数据库(1)
- Python 操作 MySQL 之 pysql 与 ORM(转载)
- 针对各主流数据mysql、sqlserver、oracle中文乱码问题。
- MySQL的JDBC 编程
- mysql 索引优化,索引建立原则和不走索引的原因
- Jsp+SSM+MySQL实现的学生考勤管理系统 附带详细运行指导视频
- 【MySQL】SpringBoot实现MySQL读写分离
- MySQL 模糊查询