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 06 MySQL
为什么mysql字段要使用NOT NULL
May 13 MySQL
MySQL 自定义变量的概念及特点
May 13 MySQL
详解MySQL集群搭建
May 26 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
新手入门Mysql--sql执行过程
Jun 20 MySQL
在MySQL中你成功的避开了所有索引
Apr 20 MySQL
MySQ InnoDB和MyISAM存储引擎介绍
Apr 26 MySQL
MySQL数据库 安全管理
May 06 MySQL
mysql5.5中文乱码问题解决的有用方法
May 30 MySQL
MySQL事务的隔离级别详情
Jul 15 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 strtok()函数的优点分析
2010/03/02 PHP
PHP学习之数组值的操作
2011/04/17 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
自动更新作用
2006/10/08 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
python读写文件操作示例程序
2013/12/02 Python
python求pi的方法
2014/10/08 Python
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
python读写配置文件操作示例
2019/07/03 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
自动化专业职业生涯规划书范文
2014/01/16 职场文书
上课说话检讨书500字
2014/11/01 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
催款函怎么写
2015/06/24 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
JS ES6异步解决方案
2021/04/29 Javascript
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python