00:00
啊,我讲完了以后,是不是还有一个格呀,那么呢,它呢叫一一些,为啥几乎和order一致,也就是说order的优化就用于group的优化,两者趋同,但是只有多了一个格布半实质是先排序,然后分组,按照最佳左前缀原则。第二个无法使用所引列的时候,是不是也要增大这两个呀?第三一个就是什么?就像我们刚刚说多一点多哪呢?BY是不是多了个heavy啊,所以说能在外要条件里面搞定的就不要去写heavy OK啊,就这么点小东西哈,其他的均和不带板一样好查询和盘序的优化,我们呢,收工,下面我们来看看慢查询日志分析,那么呢,什么叫慢查询日志呢?
01:06
那么呢,我们呢,来。第一个MYSQ的慢查询日志是MYSQL提供的一种日志记录啊,用它来记录在MYSL中响应时间超过确值的语句,比如说它默认出厂是十秒钟以上的才是慢SQL10秒以内的都是正常的,但是我们的生产系统可不可能等十秒钟XS啊,那么呢,所以说它呢,将会有一个long cur time值的资将会被记入到我们开启的慢查询日志当中,如果说超过了干嘛?就是慢的,慢了以后,假设我们设定一个最大忍耐时间,也就是我们的确值超过五秒,我们设为慢,那么呢,假设我们能够把系统里面超过五秒的CQ收集起来,结合之前的再进行全面的分析,这样我们定位是不是更准一些啊?好,我们来看。
02:14
看看如何弄呢?一。默认MYSQL数据库没有看,起码查询我们需要手动来设置这个参数,如果不是调优需要的话,一般不建议启动。刚才说。有事你才打开,没事的时候别碰它的,因为开启以后或多或少会带来一定的性能影响,OK,那么这边的话呢,请同学们注意MYCQL大部分牛叉的功能是不是都是默认关闭啊?好,我们呢往下看看,查看你是否开启及如何开启呢?来先来这一条veror来,我们来看看现在是不是of,我们说过MYRC这个是不是直接有个at Google slow.log呀,他就告诉你兄弟这块默认哥们我关闭,且我的默认查询的路径和文件名字是这个呀,OK,那么呢,下面默认情况下表示什么?
03:31
关闭,我们是不是要通过设置slow log的值来将它变成on开启啊?好,那么呢,怎么开启呢?我们用的是set global slow currylo,等于一将其开启没问题吧?好,但是这请同学们看使用这个命令看起码产生只对什么当前数据书生效哈,如果买SQL重启以后。
04:00
没效是不是就失效了,也是不是也是针对于本次啊,那么来注意我们这要看一下,那么可能有些同学会说我需要永久生效,一般我们也说过了,这个东西已经不应该长久存在,而且我也说过给大家现在讲的这些是不是架构和技术经理该干的事儿了,好,我们来层次拔高一点,但是你要知道哈,那么来同学们请看我这设置,我这查询有戏了吧,那么我要是说非得是永久生效呢?这个时候请同学们注意,如果要永久生效必须修改配置文件,那么呢,在D下面是不是把这两行参数粘贴进去啊,那么呢,由于我们说过了,这种东西是不是不能够长期的一直开启啊,我们在演示阶段,那么呢,我们就。
05:01
现在没有拍照配置文件,那么呢,来看。关于这个文件名,那么我这是叫at硅谷log,这log,那么请问其他这叫吗?你的肯定不会叫这个什么概念呢?七省的文件名就是主机减16.log个好吗?好,那么呢,开启以后,那么下面开启了慢查询日志以后,怎么样的SQL才会记录到慢查询日志当中呢?现在这个慢查询日志原项序是不是VR利MYS记录到at硅谷lo log里面啊,那么好哪些记录呢?首先咱们是不是得看看说慢慢慢慢为慢是整个标准呢,那么参数级别是不是一定要看一默认出厂设置是多少合适你就用不合适是不是在调啊好,我们来看一下默认情况下多少米啊好,那么呢,我们的命令OK,在这我们呢,直接像他这样是不是接就获得了我们相关的参数。
06:25
OK吧,好,可以使用命令,也可以在麦点看里面修改,那么呢,我们演示就全部在配置在命令里面行里面也是没问题吧,一样的效果,注意十是什么概念,它不是大于等于二一定要超过十秒的,也就是是不是要十秒以上的呀,好那么这个时候我们呢,看了以后怎么着,兄弟们默目前默认的咱们是不是十秒钟啊,等不等得起啊,等不及,那么这个时候,因为你们也知道,一是上课节约时间,二一个真的生产上哪有十秒钟的SQ啊好,我们来看看,现在我们来查看当前多少秒算慢了以后我们已经获得我们是不是十秒大于十秒算慢了,那么呢,设置慢的确值时间,那么呢。
07:26
大家看,假设我们现在三秒,超过三秒就是四秒钟左右,听懂了吗?到四秒了咱们才慢,那么呢,我们大家看我这是不是使用命令set globalbe long curry time等于三啊,那么好,一步步按照步骤走下来,这个时候我们直接执行是不是等于三,但是直行三了以后,大家一起看是不是还是十啊,那么这修改了以后,但是查询变量还是十,莫非是不是修改无效?不可能,我这些命令是不是都是标标准准粘贴直接优化命令过来的,那么呢,理由是什么呢?我们现在为什么设置以后看不出变话呢?注意我这设置三秒钟啊,两个需要重新连接或新开一个会话才能看到。
08:26
原来的修改值,要不然你原来的命令不好使,兄弟们,我们是不是用这个命令才行啊,好,那么呢,也就是说你把这个窗口关了,再重新连一个来插是不是就OK了,那么呢,我们呢,连可以试一下哈。首先这个是不是我们相当于我们的31原有的呢?那么假设我现在这样一个东西,各位亲,是不是已经是三秒了,好,那么呢,假如说按照我们的笔记,现在需要重新连接或新开一个绘画,那么呢,我们呢,直接呢也可以看看哈,假设我现在新开一个绘画MYSQL干。
09:15
U root杠七没问题吧,那么DB0629OK,那么现在我们呢?直接重新连了一个以后,由于呢你呢进行了相应的修改,那么同学们看。是不是三秒啦,好不啦,那么呢,往下走,下面记录漫长慢CQ以后,我们呢,后续分析什么概念呢?现在我是不是重新连啊,那么重新连了以后,同学们,我们呢,要处理一个问题的一个情况是怎么着呢?我们这哪找要执行长了超过四秒三秒以上的SQ呢,四秒钟是不是超过三秒了,它正常来说,如果一切数据是不是应该被记住,那么这个时候呢,有点像我们什么这种东西,只要我们设了以后,结合你未来下个月的工作,如果真是慢了,超过我们设置的,确实是不会记录到这里面,这个CQ应该不出意外,应该是大段大段,由于我们目前教学环境,我们呢来模拟,大家还记不记得我们在做建成的时候,是不是有个点sleep这个方法,那个是不是代表睡五秒钟啊,那么好你。
10:38
我们这儿呢,也有这样的命令,类似于叫什么呢?我们叫select sleep for,没问题吧,那么呢,干嘛呢,这slip sleep,我这四秒钟你跟我讲,现在是不是比三秒大,好,假设这条就是一条复杂的S,它的执行时间是四秒,我们的及格线是三秒,它超过三了,那么我们是不是要把它抓取出来啊,好,那么这个时候我们一直行。
11:15
大家看这个时候是不是四秒对四秒钟啊,那么好,对四秒完了以后结合我们前面。看到的东西我们呢,是不是去我们的CD什么呀,VAR Li下面是是有个my circle,那么这是不是个at硅谷slow点,哎,不是不是进入啊晕了,那么这个时候,那么大家可以看我们呢,打完这个命令以后,我们呢,可以看到这是不是有个at硅谷slow.log呀,那么好假设我们这干嘛,是不是直接t at硅谷slow点落格,那么好放大了以后同学们呢,可以看到一回车,大家请看在这段下面我们的文件内容,大家看时间,时间戳是这个实际查询时间是不是4.064938秒啊,那么有没有锁等等,然后哪个库呢?0629库,这个时间戳是这个导。
12:27
这问题的C是哪一条,是这条啊,只不过我在这限于环境和生,没有和生产环境一样,如果你到生产以后,开启以后,只要超过了以后,那是不是把出问题的SQL打印到这儿了呀?嗯,好,那么呢,这个呢,就是我们的什么慢查询日志的什么导入啊,慢查询日志的开启设置和抓取,那么言下之意就是你在优化分析的时候,是不是看出啊,100条SQL里面有七条超过了三秒钟以上,那么我们是不是不用100条分析着重分析这七条啊,言下之意是不是缩小范围先定位呀,OK,那么呢,往下走再来,我们得看看当前系统呢,我们呢,如果我再执行一次,是不是只有两条了,那么好,我们呢,直接跑过来看看。
13:27
来,现在show global like,那么这个时候大家看是不是刚看到有那四秒钟那一条,那么如果我又执行个十秒,那么言下之意这个系统可不可以作为一种健康检查度来查询,什么意思啊,如果你系统里面充斥了大量的慢SQ都超过你的,确实你的系统性能好还是坏,OK,那么呢,这个呢就是其中的一个,那呢再来同学们配置反应怎么办呢?买色QD下面是不是把这堆配置进去啊,言下之意就是说你要想它永久生效,是不是卖一点抗复或者卖恩爱里面就配这这四函侵权,OK,那么这个呢,我们呢就不再做演示,因为我们是不是用了命令函的演示啊,好来。
14:21
那么这个时候是什么意思呢?MY是一到什么查询MYSQ像刚才说的底层运行的命令,那么就是说你现在我们限于教学环境,我是不是给同学们演示了什么是MYSQL查询只有一条啊,你去生产上以后,可能有个5678条,甚至十来条,甚至更多,好假设这条色条慢天天重复出现,我是不是最好能够按照什么呀?我们现在排序,或者你给我找出这100条慢色Q里面出现频次最高的其中的五条,我着重优化它是不是重中之重啊?那么这个东西是什么呢?
15:08
在生产环境中,如果要手工分析日志查找分析QL体力活QL提供的日志分析工具myq dump slow干嘛呢?来,首先来看看my stemmp那个my stemmp的。三种信息命令分别是杠杠,Help,那么呢,拿来干什么呢?好,那么呢,我们呢,直接过来。大家看是不是有这些参数和日志啊好,那么呢,我们呢,可以看到VS啊,日志debug级别等等,是不是有这一大堆各种各样的参数说明啊啊,我们看这。
16:07
Al平均锁的时间,平均含传输的时间,包括这个时是计数时间,各种各样的性能参数拼写啊,那么怎么用呢?言下之意,我们查了以后。我想你这些慢不但要慢,还请你给我一种性能分析,以后多少次访问?锁定的时间,返回的记录,查询的时间,平均锁定时间等等,那么呢,我们是不是拿这些参数进行拼装啊,那么好,我们呢,比如说得到访问记录集最多的十个circq,比如说你这些万,大家看我这块是不是SMP的slow啊,那么结合前面的参数杠SRT最多的十个在这个日志里面是不是排查翻查出来呀,就说我现在由于是教学环境,兄弟们,我这儿是不是在这个里面,刚才我们已经是吧,看看过我是只有一个呀,但是你在生产上真的打起仗来了以后,是有好多好多好多个漫查询日志啊,那么兄弟你能不能给我得到返回记录集最多的十个色Q,就说白这些都是慢,不用说了,都是超过三秒钟的,那条色Q查出来100万,那条色Q查出来20万,那条色Q查出来17万,这个时候我们是不是。
17:35
都得到一个排序啊,那么好假设哈,我们这儿就在这儿呢,执行一下。OK,我们会发现兄弟们,他这儿是不是会给你做个总结啊,他这有没有说四,言下之意就是说我这儿查询了以后,目前我是不是有这种类型一种circleq给你惹事啊,那么以此类推,结合前面的命令,我们可以看得到访问次数最多的哪条色频繁的发出来,按照时间排序,前十条里面还有左连接的查询色条,你看这些是不是通通都可以找得到啊,当然最狠的是什么?结合这个以后是不是还可以结合我们的竖线和管道啊,但是注意这我就干过一种蠢事太多了,以后是不是哗哗哗哗哗哗的往下滑,就像黑客帝国一样的呀,OK,那么呢,所以说到工作中了以后,同学们可以参考着我给的范例,以及现在所讲解的这些参数,是不是进行灵活的组合,获得你们想要的结果,快照信息啊,OK。
18:45
好,那么比如说平均防护的记录数等等,你需要哪个就编哪个,那么假设这杠SRT,那么这SRT查询防灰时间等等是都OK啊,好,那么这些呢,需要同学们在工作中后续慢慢的磨练。
我来说两句