Mysql中一千万条数据怎么快速查询


Posted in MySQL onDecember 06, 2021

普通分页查询

当我们在日常工作中遇到大数据查询的时候,第一反应就是使用分页查询。

mysql支持limit语句来选取指定的条数数据,而oracle可以使用rownum来选取

mysql分页查询语句如下:

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
  • 第一个参数用来指定第一个返回记录行的偏移量
  • 第二个参数指定返回记录行的最大数目
    • 当相同的偏移量时,数据量越大,花费时间越长
    • 当相同的数据量时,偏移量越大,花费时间越长

如何优化

经过上面的总结,我们可以很清晰的看到当偏移量大,数据量大的时候,查询的时间还是挺多的,所以我们就针对这两种来着手优化

偏移量大

采用子查询方式

我们可以先定位偏移位置的id,然后再查询数据

select * from test limit 1000000,10
select id from test limit 1000000,1
select * from test where id>=(select id from test limit 1000000,1)limit 10

 通过执行我们可以发现,第一条花费时间最大,第三条比第一条稍微好一点,而且子查询使用索引速度更快。

但是只是适用于id递增的情况

采用id限定方式

这种方法要求更高,id必须是连续递增,而且还得计算id的范围,然后使用between,sql如下:

select * from test where id between 1000000 and 1000100 limit 100;
select * from test where id>=1000000 limit 100

结果很快

这里limit是限制了条数,没有采用偏移量

优化数据量大问题

  • 返回结果的数据量也会直接影响速度
  • 减少不需要的列,查询效率会明显提升

到此这篇关于Mysql中一千万条数据怎么快速查询的文章就介绍到这了,更多相关Mysql 快速查询内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
mysql字符串截取函数小结
Apr 05 MySQL
MySQL 慢查询日志深入理解
Apr 22 MySQL
MySQL分库分表与分区的入门指南
Apr 22 MySQL
mysql数据库入门第一步之创建表
May 14 MySQL
MySQL中in和exists区别详解
Jun 03 MySQL
Mysql数据库值的添加、修改、删除及清空操作实例
Jun 20 MySQL
MySQL的安装与配置详细教程
Jun 26 MySQL
Mysql数据库按时间点恢复实战记录
Jun 30 MySQL
MySQL和Oracle批量插入SQL的通用写法示例
Nov 17 MySQL
关于MySQL中的 like操作符详情
Nov 17 MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 MySQL
Mysql调整优化之四种分区方式以及组合分区
Apr 13 MySQL
Mysql中有关Datetime和Timestamp的使用总结
Dec 06 #MySQL
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
Dec 06 #MySQL
mysql中整数数据类型tinyint详解
Dec 06 #MySQL
SQL注入详解及防范方法
Dec 06 #MySQL
防止web项目中的SQL注入
Dec 06 #MySQL
mysql创建存储过程及函数详解
Dec 04 #MySQL
mysql5.6主从搭建以及不同步问题详解
You might like
晶体管单管来复再生式收音机
2021/03/02 无线电
php cookie名使用点号(句号)会被转换
2014/10/23 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
python创建和使用字典实例详解
2013/11/01 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
详解Python的三种拷贝方式
2020/02/11 Python
Python网页解析器使用实例详解
2020/05/30 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
酒店前台接待岗位职责
2013/12/03 职场文书
迷你西餐厅创业计划书范文
2013/12/31 职场文书
网上快餐厅创业计划书
2014/02/01 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
农村葬礼主持词
2014/03/31 职场文书
运动会方队口号
2014/06/07 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS