MySQL在大数据Limit使用
它已被用于Oracle一世。但今天,很惊讶,MySQL在对数量级的性能,甚至差距如此之大不同的顺序相同的功能。
看看表ibmng(id,title,info) 只要 id key 指数title
看看两个语句:
select * from ibmng limit 1000000,10
select * from ibmng limit 10,10
非常多人都会觉得不会有多大区别,可是他们都错了。区别太大了,(可能机器不同有点差距。但绝对10倍以上)详细运行时间留给好奇的同学。
这是为什么呢,都是offset的错!
优化的话你能够想方法减小offset,例如以下面:
Select * From ibmng Where id >=(
Select id From ibmng Order By id limit 1000000,1
) limit 10
大家一定会看到问题, limit 1000000,1 相同offset不是一样大吗,肯定不能优化。
(可是,又错了,运行之后才知道结果!)
原因是id是索引,全部快,那么例如以下sql呢:
select id from ibmng where title='mysql' order by id limit 1000000,10;
这条sql大家又会猜错。相同慢的跟蜗牛一样。
(在此大家都会想title加了索引啊怎么会这样!
)
接下来大家再运行一条sql例如以下:
select id from ibmng where title='mysql' limit 1000000,10;
运行之后你会发现速度是sousou的快!
原因看出来了吧,都是用了索引的原因,假设你要用select id from ibmng where title='mysql' order by id limit 1000000,10; 那么就追加复合索引(title,id )对。
注意:然后和limit无关。
我现在终于回来了场面,假设统计数据的千万级别批量读单词,不要用limit最好的,使用主键范围最推断!
(eg:id<=1001000 and id>=1000001)
MySQL在大数据Limit使用的更多相关文章
- mysql的大数据量的查询
mysql的大数据量查询分页应该用where 条件进行分页,limit 100000,100,mysql先查询100100数据量,查询完以后,将 这些100000数据量屏蔽去掉,用100的量,但是如果 ...
- mysql处理大数据量的查询速度究竟有多快和能优化到什么程度
mysql处理大数据量的查询速度究竟有多快和能优化到什么程度 深圳-ftx(1433725026) 18:10:49 mysql有没有排名函数啊 横瓜(601069289) 18:13:06 无 ...
- [转] MySql 优化 大数据优化
一.我们可以且应该优化什么? 硬件 操作系统/软件库 SQL服务器(设置和查询) 应用编程接口(API) 应用程序 ------------------------------------------ ...
- Mysql优化-大数据量下的分页策略
一.前言 通常,我们分页时怎么实现呢? 1 SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但是,数据量猛增以后呢? 1 SELECT * FROM t ...
- mysql优化----大数据下的分页,延迟关联,索引与排序的关系,重复索引与冗余索引,索引碎片与维护
理想的索引,高效的索引建立考虑: :查询频繁度(哪几个字段经常查询就加上索引) :区分度要高 :索引长度要小 : 索引尽量能覆盖常用查询字段(如果把所有的列都加上索引,那么索引就会变得很大) : 索引 ...
- MySQL在大数据、高并发场景下的SQL语句优化和"最佳实践"
本文主要针对中小型应用或网站,重点探讨日常程序开发中SQL语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...
- PHP/MYSQL 查询大数据/遍历表
PHP:PHP 5.3.6 (cli) (built: Jun 15 2011 16:29:50) MYSQL:5.1.51 如果我们有的一张表有几百万或几千万的记录,我们要使用 PHP 将所有的记录 ...
- MYSQL的大数据量情况下的分页查询优化
最近做的项目需要实现一个分页查询功能,自己先看了别人写的方法: <!-- 查询 --> <select id="queryMonitorFolder" param ...
- Mysql 提升大数据表的拷贝效率
工作上会经常遇到量级比较大的数据表 :场景: 该数据表需要进行alter操作 比如增加一个字段,减少一个字段. 这个在一个几万级别数据量的数据表可以直接进行alter表操作,但是要在一个接近1000 ...
随机推荐
- HP-UX查看版本
首先采用uname -a查看服务器类型 $ uname -a HP-UX WEBDB1 B.11.31 U ia64 0749665296 unlimited-user license 服务器的 ...
- eclipse不能进入debug
首先说明一下.我肯定是以debug模式启动的.断点程序肯定能走到. 可是一点页面,程序就跳到class文件,而不是Java文件. 解决的方法是:window---preferences---tomca ...
- json转String 和 String转json 和判断对象类型
function ajaxGetMenuList(){ $.getJSON("login.do", function(json){ var r = ""; zN ...
- 使用Delphi声明C++带函数的结构体实战 good
在小组开发中,应用程序部分采用Delphi7,一些组件使用C++做.在今天将一个动态库的C++接口声明头文件转换为D7的Unit单元时,一切都很顺利,直到遇到下面这样一个另类的东西: typedef ...
- Java编码浅析(注意区分三个概念)(转)
编码: (1)外部资源的字符集-----没有读入jvm中的数据都是外部资源 (2)jvm中数据的字符集-----都是unicode (1)和(2)之间发生交互时,如果不指定编码,则使用JVM平台默认字 ...
- 验证码 Captcha 之大插件
验证码 Captcha 之大插件小用 不知何年何月才能完成OADemo啊,总之还是一步一步来吧,这段时间开始着手了,先做登陆. 前段时间研究了一下在CentOS7下安装Mysql和Memcached ...
- C++教材
C++语言: 1.<Essential C++>:Stanley B.Lipman著. 旁枝暂略,主攻核心,轻薄短小.附习题与解答,适合刚開始学习的人. 2.<The C++ Pro ...
- hdu 1024(dp)
传送门:Max Sum Plus Plus 题意:从n个数中选出m段不相交的连续子段,求这个和最大. 分析:经典dp,dp[i][j][0]表示不取第i个数且前i个数分成j段达到的最优值,dp[i][ ...
- select下拉菜单反显不可改动,且submit能够提交数据
首先通过后台funcA()将下拉菜单反显不可改动的数据response到disable.jsp页面,disable.jsp: <script> var data1=${result.obj ...
- VSTO学习笔记(七)基于WPF的Excel分析、转换小程序
原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ...