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 infobright的安装步骤
Apr 07 MySQL
详解MySQL的Seconds_Behind_Master
May 18 MySQL
Mysql数据库索引面试题(程序员基础技能)
May 31 MySQL
Mysql文件存储图文详解
Jun 01 MySQL
Unity连接MySQL并读取表格数据的实现代码
Jun 20 MySQL
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
Apr 09 MySQL
MYSQL常用函数介绍
May 05 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 MySQL
Mysql索引失效 数据库表中有索引还是查询很慢
May 15 MySQL
MySQL sql模式设置引起的问题
May 15 MySQL
关于mysql中string和number的转换问题
Jun 14 MySQL
delete in子查询不走索引问题分析
Jul 07 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字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
永不消失的title提示代码
2007/02/15 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
浅谈微信小程序flex布局基础
2018/09/10 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
Python箱型图处理离群点的例子
2019/12/09 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
法国时尚童装网站:Melijoe
2016/08/10 全球购物
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
长青弘远的面试题
2012/06/09 面试题
大三自我鉴定范文
2013/10/05 职场文书
高三学习决心书
2014/03/11 职场文书
给校长的建议书600字
2014/05/15 职场文书
家长通知书家长意见
2015/06/03 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
MySQL 如何限制一张表的记录数
2021/09/14 MySQL
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技