最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL大数据下Limit使用_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:45:21
文档

MySQL大数据下Limit使用_MySQL

MySQL大数据下Limit使用_MySQL:对于一直用Oracle的我,今天可是非常诧异,MySQL中同一个函数在不同数量级上的性能居然差距如此之大。 先看表ibmng(id,title,info) 唯一 id key 索引title 先看看两条语句: select * from ibmng limit 1000000,10 select *
推荐度:
导读MySQL大数据下Limit使用_MySQL:对于一直用Oracle的我,今天可是非常诧异,MySQL中同一个函数在不同数量级上的性能居然差距如此之大。 先看表ibmng(id,title,info) 唯一 id key 索引title 先看看两条语句: select * from ibmng limit 1000000,10 select *

对于一直用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)

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

MySQL大数据下Limit使用_MySQL

MySQL大数据下Limit使用_MySQL:对于一直用Oracle的我,今天可是非常诧异,MySQL中同一个函数在不同数量级上的性能居然差距如此之大。 先看表ibmng(id,title,info) 唯一 id key 索引title 先看看两条语句: select * from ibmng limit 1000000,10 select *
推荐度:
标签: 数据 大数据 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top