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 相关文章推荐
浅析InnoDB索引结构
Apr 05 MySQL
MySQL 表空间碎片的概念及相关问题解决
May 07 MySQL
zabbix监控mysql的实例方法
Jun 02 MySQL
浅谈MySQL 亿级数据分页的优化
Jun 15 MySQL
MySQL修改默认引擎和字符集详情
Sep 25 MySQL
MySQL悲观锁与乐观锁的实现方案
Nov 02 MySQL
Mysql数据库手动及定时备份步骤
Nov 07 MySQL
MySQL中order by的使用详情
Nov 17 MySQL
关于mysql中时间日期类型和字符串类型的选择
Nov 27 MySQL
SQL注入篇学习之盲注/宽字节注入
Mar 03 MySQL
MySQL优化常用的19种有效方法(推荐!)
Mar 17 MySQL
MySQL分区表管理命令汇总
Mar 21 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
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
php实现三级级联下拉框
2016/04/17 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
javascript中new关键字详解
2015/12/14 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
详解python中的线程
2018/02/10 Python
Python打印输出数组中全部元素
2018/03/13 Python
python3实现名片管理系统
2020/11/29 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
extern是什么意思
2016/03/10 面试题
灰雀教学反思
2014/04/28 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
安全标语口号
2014/06/09 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
升学宴学生答谢词
2015/01/05 职场文书
老公保证书怎么写
2015/02/26 职场文书
公司开会通知
2015/04/20 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
网络研修随笔感言
2015/11/18 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers