00:00
看一下我们现在这个东西哈,来下面叫TEST03没问题吧,然后呢,ID主键COLUMN1COLUMN2COLUMN312345没问题吧,好那么呢插入相关记录直接获得查询,好的我们呢先把题目呢弄出来,那么呢OK,下面是不是建表插入查询成功12345个字段没问题吧,好那么呢我们呢往下走,下面我们呢建的索引,请同学们分析是符合索引还是单指索引索引,那么我为了图简单,我就没写C1C2C3,我就直接写了个1234,好理解吗?相当于说主人你给买色西楼一楼二楼三楼四楼这个时候正。
01:00
那情况下,我是不是沿着我们前面所讲的符合,简单来说就是符合最佳左前缀原则,我就顺着走,主人你修好的楼梯跟你达成一致啊,好切记啊,所以所以排好序的快速查找数据结构,排序加查找是索引的两个用途,开篇的时候咱们先把这些基础知识再复习一下,好吧,好,那么呢,往下走以后我就说1234楼了,没问题吧,好,我们呢,直接呢来看看。下面我们呢来看看,哎呀已经见过了是吧,哎,没见是吧,没执行啊,干脆一块了不起,重复这样报个错好吗?那么呢,我们呢,顺利的呢拿下,然后呢,直接这边B数索引O吧,好那么呢,下面呢来看看我把这个同学们反馈回来的问题呢,做了一个扩展题目,就一稿我们创建了符合索引,根据以下四条分析索引的使用情况,那么呢,来吧,现在同学们第一种是不是全职匹配我最爱啊好来我们呢一个一个的来,兄弟们,我建的是不是1234啊好那么这些是一些什么?
02:35
根和起手式我就不再废话,前面讲过这些都可以吧,那么呢,都用到像刚才同学们看到了是不是,大家看这个是不是一个产量两个产量,你的精度在提高,耗损是不是也在提升啊,好嘞。嗯,O吧,3162934个,而且大家都知道O巴,再次强调哈,ID type谱这个O巴好了,那们呢,来吧,咱们呢分数我把它分成了不同颜色,咱们呢一块一点一点的往前走哈,别着急,那么呢。
03:30
第一个同学们,第一组1234,就是我刚才所执行的这个是不是用到了四个组以绝对全好,那么呢,下面我的原则是1243,那么呢,请同学们简单的分析一下,看看一能不能用到,二用到几个三哪它是去做查询还是去做了排序,请同学们十秒钟分析一下,好给同学们思考了一下呢,呃,也问了几个同学,那么呢,我们呢,来看看1234这个呢用了缩引,那么现在我们的问题是能不能用到好,这个时候回车看一下答案。
04:30
那么来同学们请问12341243,请告诉我有没有用到,用到了几个?好,现在我们改吧改吧。
05:01
好,那么这个时候我们建的一楼,二楼,三楼,四楼,这个时候呢,我们该买车票呢,发布的命令是4321,那么呢,同学们思考十秒钟,这种情况又会变成什么?好,那么同学们呢,思考了一下呢,讨论一下呢,我们呢来看一下哈,这个时候大家看一下,我们见的是12344321,好,那么来同学们,这个就是我们第一天在学MYQL逻辑架构的时候,需要和同学们阐述清楚的内容,第一点,这货是不是在这儿啊?那么呢,MYQ简单,可依赖聪明小巧命令,他没那么傻,当主人发布或输入一个Q命令的时候,它会开启自我优化分析,我们呢,继续看。
06:25
块是有查询优化器啊,它呢会把买的命令进行自动的调整和优化,已达到最佳的效果,那么同学们我们是不是已经建好了一个叫1234啊,那么这个时候买色干嘛去调用了以后写麦,其实质而言,就像我们写的一加二加三等于多少,没有反过来写三加二加一等于多少,请问在常量级别的这种范围,注意这些是有点特例,是不是全是常量啊?那么请问一下这种写的写法是不是一样,但是注意同学们,那你用哪一种,一二随便,所以一就是主人你见的是1234,我也就给你写1234,第二种呢是我偏偏跟你相反,你见主人你见的是1234。
07:25
我写四藏二经,反正我们现在也测试了,结果都一样的。第三种是随便看心情听好,最好是怎么建就怎么用,这样是不是避免马底层一次翻译和转换好,那么这是我们的第一组。下面呢,我们呢来看哈,那么呢往下走,下面呢来看。这个时候请同学们好顺序对不对,大家认为看看用到了几个,请分析一下哈,别着急啊,安静,那么来同学们经过讨论和思考,我们呢,来看一下我们的效果,几个有没有是那是什么范围之后全失效,第四个有没有流产那么一二产量企业,但是这块是那是什么概念,由于这个人不敢听好开头一再删掉,比如说有个宾馆101到了以后跟你说,哎,我要找张三在起。
08:54
203好找到二零对201从一楼是上到二楼的,二楼上到三楼,三楼上到四楼,这个是不是全等四个产量绝对确认的情况,常量是最明确,但不好意思啊,这道题目呢比较坑爹,它呢一楼和二楼的话呢,给大家的造成的这个效果呢,是跟前面一样,一楼二楼是不是稳了,但是到三楼以后就是说,哎,不好意思,这个房间三楼到底去是不是从301直接可以上四楼,我不知道,你自己去找吧,这个时候,但是我告诉你肯定就是三楼,然后呢,三楼只要大于A3这个值,比如说门牌号大于305,你去找变成什么,三楼以上不再是一个定值,而变成了一个什么范围,这样就导致什么AC3这个事只能勉强用到一部分用于排序,而没有办法用到查找。
09:54
那么这个时候我们是不是四楼更加不能使用,那么结合我们前面的总结,是不是范围之后去失效,OK,这个呢,就是我们看第三种情况好,那么呢,这个情况呢,请同学们思考一下,我到底呢用到了多少个,那么呢,大家呢,十秒钟思考一下好,那么呢,结合第三组的第二小小色调,我们来看看判断一下用到了几个好,现在我们呢,大家呢,买定离手哈,首先我相信起码不会有同学回答我一个吧,给个面子啊,这个是不是得用到好两。
10:54
举手。你不要管别人,OK,好三个了,四个了,好零个好,我们举所有可能哈,OK,那么那个举手情况呢,看到了,那么呢,跟同桌的你说好啊,说的时候请吃中午饭啊啊大餐的机会到了是吧?来同学们搂一看看,应该是两个,三个,四个还是零个,很简单,首先同学们MYS第一步调一下优化,看看找不找到,按好续的顺序能不能可用的,咱们修的楼是不是1234啊,那么呢,它这块虽然说是四在这儿,但是到最终底层的时候,它是不是也会给你调U啊,但是呢,为什么到四个呢?四以后还有啊范围之后全失效。
11:57
你就算失效又咋的,后面没有失效就失效,那么所以说咱们是不是说过三个是就十三四个要是四,而且大家看绝对是范围吧,那么只要用到范围,是不是一定是起效啊,OK啊,能不能往下走啊,一点点小分析。
12:17
好,下面呢老看看这个哈,好注意order暂时是不是没有给同学们讲,因为order涉及到单路复用算法和双路复用算法,下一节课我们讲,但是呢,由于这个题目他也已经考到,我就先提前给同学们过一眼,没问题吧,那么这个时候呢,同学们就干嘛瞎拍一下好捞一眼,中间断过好,但是由于价格water慢,情况又会有什么不一样呢?我们呢,来看一眼哈,首先各位亲,级别有未用到是索引。
13:17
用到了是不是这两个了,注意,我们呢,后面还会有一道跟它相似的题目,但是其实说白了,这个OC3有没有用到呢?严格的说来说了用到了,首先兄弟们听好开头,一定要深刻理解这句话,所以是两大功能,查找和排序,也就是说一,它体现过来就是你是不是按照一和二去查找两个产量绝对用到吧,但是C3也算是用到了,它没有用于查找,它用于去什么了,排序,好,那么呢,我们呢往下走,C3的作用在于排序,而不是查找,它也算用到了,但是它没有统计到这个里面,听懂了吧,好,那么呢,我们呢,往下看。
14:11
好,同学们再思考十秒钟,看看这个问题来,这题和这题是不是缺了一个这个呀,好痛快点,觉得说跟上面是一样的,举手。肯定不一样,好用到了三个的举手,好,首先哈,我们主要是来看这个,听懂了吗?好,我们呢,那么换句话说,跟这货关系大不大?好,大家看回答我两者是不是一样的内容,OK,说白了什么意思啊,兄弟一二,我正准备登上三楼去找四楼的时候,三楼说不用登了,三楼这层屋子全排序去了,那么换句话说,以前还给个面子,说只要什么C3大于多少,是不是还能从三楼开始慢慢的检索找啊,这块说行了,兄弟直接三楼排序就行,还找不找四楼了,还找不找,几乎跟四楼是没什么太大关系了,好,那么呢,我们呢?
15:36
往下看,当我们看看这种又是什么情况呢?分析一下现在这货前面是不是C3C3,这个是C4啊,首先兄弟们有没有用到,所以如果说没有用到,这个时候我说过是不是这个一定要是钠的,而且大家看这块两大索引的产量是不是绝对OK,但是注意主人你建的顺序是1234,我们第一天的课程是不是说过如何建索引,是不是其中有一条是尽量索引使用和建的顺序跟排序一致啊,现在的话变成什么呢?主人123中间兄弟断了,你让我直接从四开始排这。
16:36
就变成什么火车头没有了,中间兄弟也断了,你让我排序了以后干嘛呢?在这儿直接上C4排,不好意思啊,主任三楼都没有,怎么着,我无法识别,主任你给我修好的楼梯,但是买色要交出这个结果,他是不是只好自力更生,干嘛干了个非呀,咱们见的是不是1234兄弟,你干的够狠的事,直接从四开始排,那么这个时候你是不是拿我买,但是买色也说了,那主任你也难不倒我,你帮我修好的梯子,一楼二楼三楼四楼,但是你要order buy,你让我用的不好,我买色Q只好,是不是自己内部产生一次内排序了以后传递给你结果呀,但是注意,就是因为这种东西导致了你性能下降,我们说过有三个是,一个是using,是九死一生,Usingary,今天下午的时候你会看到。
17:36
我给你们整一个using temporary,你就发现我靠那个,然后呢,Using index,那就是最好的听懂了吧,好,那么呢,所以说同学们看好如你一定要去这种团队,就是他的,比如说像滴滴,他就是什么内部分享,就是天天去分享这种生产故障,然后拿大量的案例告诉你以后总结成是吧口诀,以前我们在电信的项目里边给北京移动干的时候,我们也是这样,里面有很多大理,我也有幸的听到了很多分享,就是各种生产上的那种故障,那种故障绝对不是什么京东上买本书你能看得到的,没有那个环境。
18:15
十年前我们就这开始这样被折腾,然后呢,一直这么一点点点一点的积累,所以说同学们找的团队和导师是不是很重要啊,我们也说过,是不是跟对人才能做对事,想进步就要有人带啊,好,所以说求职的话当中薪水是一方面,好的导师,好的团队也要考虑下面,再往下来第八组还玩不玩好?是不是出现了fair了?好,注意order by你先暂时不要管,专门有一章我会给大家讲order by和group by的,这好,再来看看第八组8.1同学们思考吧,奔跑吧,少年们,那么呢,01234同学们猜完了以后,我们来看看买色票是如何分析的几个,准确的说,严格的说,从查找的范围是不是一个呀,因为很简单,一个产量一个是一嘛,没有索引失效啊,但是呢,从一固定值以后,是不是按照第三去二和三去排序去了,好,那么呢,他们呢?
19:43
也会被用到一部分,好,那么大家可以看只有C1,只用C11个字段索引,但是C2C3用于排序,有没有发压缩卡,没有好,再往下来中最难的就是第八组哈,等会回头后面有个案例来对比,我们的结论会稍微有点不一样,所以说它会有些前提条件,请同学们听好来。
20:10
好,请同学们对比,好,那么呢,给同学们一点点思考时间,那么大家看这个东西和上一题区别在哪啊,是不是一个是这个,一个是这个呀,挺好,Order这个货大部分给你们找麻烦的就是好各位亲,你见的是不是1234啊,但是order的时候干嘛?首先跟这条这个题目请跟我讲,跟咱们下面的哈,我们来对比是不是完全一样啊,你看,但是的话跟我讲,我们都知道结果一样以后是不是中间的性能不一样啊,好,一定要注意这些细微的差别哈,OK。
21:08
是不是出现了了,好,再来看它,我去。好,那么这个时候我们呢,来看一下这条色Q啊,哎,是不是跟跟这个对比以后大家看一下哈,上面是不是一五啊一五我823,那么这个是不是1223啊,这个有什么情况,这个是不是不会有什么太多的问题啊,很和谐吧,1212是不是查找和排序都是按照顺序来啊好。
22:14
再来对比着看看哈,思考一下好,那么这个时候同学们可以看一下我们的这个是不是就缺少一个这个呀,好,怎么着跟这个坑爹货有没有关系啊?好,他题目出了迷惑你的是,我一是是用排序排序。
23:02
根据刚才一样的题目,我们来看看。通过前面讲解应该明白什么意思吧,会产生什么没有好好开始混乱了,老师你自己说的是不是要fire呀,然后是不是不好意思让同学们失望了,思考一下,思考一下来同学们能那么能重复我们刚才的故事哈,我们也说过这个的时候是不是违反了顺序,那老师你不能自已打脸啊,你自己说的了,查找和排序最好是是按照所有的顺序来,我们可以深刻的体会到这个货现在可一看C5是个干扰项,说实话C5是不是根本就没有出现在索引上,我们的索引是不是1234啊,跟五呢没有任何关系,它就是个迷惑。
24:08
好像由于你有C1带头大哥有没有,但是兄弟你排序的时候给我整个三二,我们这种情况是不是出现了fair,那么这个时候不能晕看好了,那么这个时候为什么同样是water这一块,三二就没有fair呢?理由就一个,我们的有一个前提就是C2看啊,首先all by,只要你没有跟所引的顺序一致,基本上都会产生是吧?Fair是一般情况,但有一个特例是什么概念,我非要按照我大半三二去排序,听懂请跟我讲,我非要给你做对主人,你让我建的顺序是231234的顺序,我非要给你做对,我用三二,正常来说是不是应该产生非要做的内排序,加重了我们的系统负担。但是为什么这货就。
25:08
免了呢,因为它有一个特例,就是你排序字段已经是一个常量了,什么概念哈,比如说order by c3C2,排序好,现在变成order by c3逗号一个具体的值等于年龄,它假成C2是23,请问常量的时候是不是一个定值啊,固定只有一份,什么东西只有一的时候,请跟我讲排序有用吗?那么也就是说它就变成什么假设啊,这个C3是这个CR是什么?我们的一个A级字段以前出现fair的时候是什么?Order不知道的时候是不是order by c3C2,但是现在已经变成什order by什么C3A是多少?等于甲上27岁,那么请问A等于27,也就说这个值是等于27,它是不是?
26:08
已经一个产量与及固定的一个唯一值啊,请问什么东西只有一份的时候,你排不排序是不是无关啊,那么也就是说什么MYQ,这有个前提,看好跟前面这个对比,一定要注意这本例是不是有常量,C2的情况是常量是一个单独值,一个值以后是不是就不用排序了,所以说即便你写成了C32,这个二是一个常量啊,所以说是不是只剩下三这么一个,不会产生fair so呀,通了吗?好,那么呢,拿不同的对比呢做来做演示和看来同学们再往下走,看看我们的剩下的情况啊,我们呢,再来看这刚才我们也对比过这个东西,我要把它粘出来演示一下,跟这个是不是一样,上面这条语句就是跟下面这条语句,就是上面这条语句没问题吧,好,那么呢,我再执行一遍。
27:08
哎,所以看是不是产生了F呀,好,那么呢往下走,下面我们呢,继续第11组。来看看他。分析一下又会是什么鬼?给同学们十秒钟,我们来看看跟BY有什么区别和讲究,BY是排序group by是分组啊好,同学们请看一下这个货它会产生什么?用到了几个?我们也说过了,C4是不是没用上,否则的话这个长度不会是31吧?用两个是不是应该是62了?好,有没有索以时效好T是什么?OK,好,那么再来,同学们别着急,猜猜会长什么样呢?
28:07
哎呀哎呀,失败失败给你们看到了,气死我了,哎,气死我了,你们就当没看到好不好,我们就当骗,哎我去怎么又出现了啊,你们就当没看到哈啊好,大家看这个是不是二三,请问二三符不符合我们的所有顺序,这个呢,好,这个是不是灭绝师太呀,一个就够你受的了,这个是不是两个呀,OK,那么呢,所以说呢,这一波就是什么?我们对所以分析以及相关性总结的一些重点题目的案例,那么呢,请同学们一定要注意这个问题可如何把表面上角分组。
29:08
听好这句话,分组之前必排序,所以说group它和order,其排序的法则和所以优化的原则几乎是一致的,当然它有一个不一致的地方格BY是不是还有having这个东西啊?OK,往下看,那么呢,我们记住这么一个小结论,第一个一定要在索引分析的时候定值为常量范围,之后是失效,最终看排序什么意思啊,所以是不是有查找和排序两种作用啊?那么呢,一般order半干嘛?给了一个什么范围,你按照什么?就是说某个字段它去排序。第二个隔路拜基本上是什么分组,它都要进行什么分组之前必排序。
30:08
如果错乱了以后,会导致临时表的产生搬家和删除,听懂就是说我这个顺序啊,格布拜不对,那么主人你帮我修好的楼,我搞不定爬不上来,我内部是不是需要重新排序啊,产生了非奥索特,那么这些数据我为了给它挪出来,我内部先建一张临时表,相当于说就像什么你在家吃饭是不是用你自己的碗筷,你现在去什么田老师红烧肉订了个盖饭,这个时候带走,请问他是不是给了你一个临时的饭盒,你那个临时饭盒吃完了以后,正常来说你都甩了吧,你是不是要吃饭,你不会说,诶,从此以后我们家又多了个碗,那么呢,所以说呢,这块要明白哈,格拜几乎和欧德拜一致,好,那么呢,我们的一般性建议如下,第一个。
31:08
对于单值索引选尽量选针对单块性当前查询过滤性更好的索引,在选择组合索引的时候,我们说过是不是位置越靠前,其实准确说这个是不是应该叫越靠左呀?好,那么来组合索引的时候,尽量的选择可以能够包含当前查询中外用子句中更多字段的索引,没问题吧?那么呢,最终尽可能的分析统计信息和调整查询的写法,来达到什么选择适合索引的目的,那么呢,基本上order,那么呢,干嘛和格伦布巴以及我们的一般性的建议呢?就是这样一个情况,没问题吧,OK。
我来说两句