MySQL在大数据Limit使用[通俗易懂]

MySQL在大数据Limit使用

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

它已被用于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)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116702.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • okr绩效考核方法_谷歌安装器哪个好

    okr绩效考核方法_谷歌安装器哪个好摘自:http://jincuodao.baijia.baidu.com/article/4352文/金错刀(微信公众号ijincuodao)我常说,我们做案例式培训的方式跟其他人不一样,很多公司只是就案例而案例,我们的方式就一句话:用别人的的血泪武装自己。这里边,除了方法论,更重要的是行动工具。如何让自己的团队嗷嗷叫,执行力强悍,甚至狗急跳墙?今天重磅推荐一个员工执行

  • spring boot 接口_什么是API接口

    spring boot 接口_什么是API接口引言前后端分离、APP交互等,大多都是通过API接口实现的。既然要进行数据交互,那么这接口就得有讲究了:既要实用,又要优雅好看!那么,如何写一套(个)漂亮的API接口呢?一、返回格式API接口要求返回的格式是text/json,我们知道网页返回的格式一般是text/html,因此,SpringBoot为写接口,提供了两种实现方式:类注解和方法注解。类注解@Re…

  • C/C++程序员必须熟练应用的开源项目

    作为一个经验丰富的C/C++程序员,肯定亲手写过各种功能的代码,比如封装过数据库访问的类,封装过网络通信的类,封装过日志操作的类,封装过文件访问的类,封装过UI界面库等,也在实际的项目中应

    2021年12月27日
  • Svn服务启动的两种方式

    Svn服务启动的两种方式一、svn服务器启动›cmd命令行启动:vsvnserve-d–r文档仓库路径-d后台执行›-r版本库的根目录二、›Windows服务自动启动利用xp、2000以上的系统自带的工具

  • js中的ajax和jquery中的ajax学习笔记

    js中的ajax和jquery中的ajax学习笔记

  • plc梯形图讲解_plc编程入门梯形图

    plc梯形图讲解_plc编程入门梯形图导读:初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯。下面以三菱FX系列PLC为例,简单介绍一下PLC梯形图编程时需要遵循的规则,希望对大家有所帮助。有一点需要说明的是,本文虽以三菱PLC为例,但这些规则在其它PLC编程时也可同样遵守。OFweek工控网讯:初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯。下面以三菱FX系列PLC为例,简单介绍一下PLC梯

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号