Mysql 分页总结详解
在日常的项目开发中,大多数场景,我们采用MYSQL作为持久层存储,但是随着数据量的增加,数据的分页查询效率将会极具的下降,那么我们该如何的进行优化分页查询呢?接下来我将介绍三种,供大家学习。
普通分页
语句
SELECT * FROM table_name WHERE deleted = 0 LIMIT pageNum, pageSize;
场景
这种分页适用于数据量较小的场景,数据量在数百条或者数千条是效果良好。
优点
使用简单,且市面上有大量的插件支持。
缺点
在分页的时候会进行全表扫描,并且存在返回数据结果排序不稳定情况。
主键分页
SELECT * FROM table_name WHERE deleted = 0 AND id > (pageNum * pageSize) LIMIT pageSize;
场景
适用于数据量较大场景。
优点
通过索引扫描进行分页,速度快。
缺点
并不是按照ID进行排序,可能会出现查询漏掉部分数据。
子查询分页
SELECT * FROM table_name WHERE id <= (SELECT id FROM table_name ORDER BY id desc LIMIT pageNum * pageSize ORDER BY id desc LIMIT pageSize ;
场景
适用于数据量较大场景。
优点
通过先查询id,避免回表过程,增加查询效率,在此对id进行联合查询触发主键索引,提升查询效率。
缺点
需要联合查询,SQL略显复杂。
Mysql 分页总结详解相关推荐
- Mysql学习总结(32)——MySQL分页技术详解
1.什么是数据分页:数据分页就是将很多条记录像书本一样分页,每页显示多少行记录: 2.为什么要数据分页:当我们进行sql语句查询时,假如数据有成千上万行记录,如果在同一个页面去显示,那这个页面得有多大 ...
- MySql深分页问题详解
MySql深分页问题详解 1. 问题描述 2. 问题分析 3. 验证测试 3.1 创建两个表 3.2 创建两个函数 3.3 编写存储过程 3.4 编写存储过程 3.5 创建索引 3.6 验证测试 4. ...
- 数据库mysql_row_MYSQL数据库mysql found_row()使用详解
<MYSQL数据库mysql found_row()使用详解>要点: 本文介绍了MYSQL数据库mysql found_row()使用详解,希望对您有用.如果有疑问,可以联系我们. mys ...
- Mysql加锁过程详解(3)-关于mysql 幻读理解
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
- mysql status改变_mysql 配置详解mysql SHOW STATUS 详解
1. back_log 指定MySQL可能的连接数量.当MySQL主线程在很短的时间内得到非常多的连接请求,该参数就起作用,之后主线程花些时间(尽管很短)检查连接并且启动一个新线程. back_log ...
- MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)
MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过 ...
- Mysql存储引擎详解(MyISAM与InnoDB的区别)
Mysql存储引擎详解(MyISAM与InnoDB的区别) 存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平 ...
- MySQL的Limit详解(转载)
MySQL的Limit详解 问题:数据库查询语句,如何只返回一部分数据? Top子句 TOP 子句用于规定要返回的记录的数目.对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. 在SQL Se ...
- Mysql加锁过程详解(2)-关于mysql 幻读理解
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
最新文章
- 自动驾驶激光雷达物体检测技术
- 计算机设计学校,计算机设计制作大赛
- 手机游戏美术外包的四大优点及三大建议
- 通俗易懂的堆排序C++实现
- 激活BI Content
- android顶部标题app_name,如何写一个app通用的title
- 苹果Mac出版物设计必备软件:​​​​Affinity Publisher
- 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_03.入门程序之需求分析
- HihoCoder - Floyd算法
- basename 从绝对路径中取得文件名
- 2021最新!某盘加速下载工具复活了,无需登录,打开即可高速下载(附下载)!
- sigmoid/softmax指数运算溢出问题的解决方法
- audio接线图解_拒绝做小白 你应该知道的常见音频接口
- 红外遥控接收发射原理及ESP8266实现
- 两个jquery 类似igoogle的portlets插件
- python爬取豆瓣电影top250_【Python3爬虫教程】Scrapy爬取豆瓣电影TOP250
- Elasticsearch查询的基本使用
- SEO竞争对手分析及网站SEO优化方案设计分析
- GWO(灰狼优化)算法MATLAB源码逐行中文注解()
- MosFET/FinFET/GAFET ——鳍式晶体管还能走多远