00:00
下面我们呢往下看单表收工,再来看看量表,那么呢,我们呢,这么来商品类别book没问题吧,它没什么意义,ID分类card。不克ID分类看的,言下之意,这个函数就是个随机数,是不是保证有相关的ID生成了以后,它们主外键部分相等,部分不相等啊好,那么这个时候同学们请看一眼哈,我呢搂下来它没有什么实际意义哈,就是为了主外键,你就把它当做是员工表ID,部门ID,部门表ID,这样是不是部门表和那个员工表的部门ID和部门表的主键ID主外键关联,好只不过现在呢,换一下干嘛呢?OK,我们呢可以看到哈,Select新from class商品类别,大家看这个是跟业务无关的主见,总共20条,没问题吧,他的比如说分类卡十代表什么这个书就是军事类的,七号就是武侠类的,八三号就是什么诗歌类的,13号就是体育类的,听懂啊,那么这儿我们再来看,这是class分类。那么这块book哈,或者。
01:19
再来再来,那么大家看,假设这个三刚好我这个顾客ID是三,你的书籍分类是哪一类?克拉卡分类卡就是三号,三号是不是军事类的呀?那么这样是不是主外键相等啊?那么好,那么再不行,那么同学们罗列一下select星什么呀?咱们这是不是不逗号?看来哎呀,或者这样吧,写你们那样的吧,这个是不是什么in join你什么这块是不是class on的什么是不是class.card等于什么class.card。
02:00
没问题吧,一回撤,大家看这样是不是都是相等的,好,那么如果说你看这是不是22条记录啊,那么再回忆回忆,我们这说白了,Left。不合适的,不匹配的,是不是直接29啊好,那么这儿呢,就是说白了那几个圈圈不是不废话,它没什么意义,主要就是为了主碍进行关联,今天我们练的是索引,听到好,现在问题来了,你这个写这个主外键里哈,这个索引是应该加在左表还是加在右表,加在哪些字段,我们两个有主外键。那么这个时候刚才我们看到这条记录,请同学们漏一眼,兄弟们,咱们是不是有可能什么不可点card cut.card呀,就说两张表是不是都有分类卡,这个card主外键关系,那你告诉我是加在book.card还是加在class.card来听我分析重点来了,单表倒是好说,你一个人,反正我不停的改,就像刚才的CCV是不是改成CV,对了就对了,但是左外连接和右外连接情况就啰嗦了,听我分析来,我们呢,往下走看,首先弟兄们,我们来看看我们的案例,第一个。
03:25
来个class left join book,脑子里面脑补我们第一天讲过的那个圈圈,能反映出是哪些圈圈吧,是不是左表要全部啊?好,那么这个时候同学们请看我们呢,首先explain直接弄过来了,弄弄过来了以后我们呢,可以看到有一个问题,大家请看此时出现了什么鬼。
04:02
20加20这个答案不用我给你是吧,那么请问咱们不用讲我们现在啰嗦的事情,是不是type有握呀,注意左连接右连接两表驱动,这种情况下是不是总有一个表示来驱动的呀?好,那么呢,我们来看看现在这个问题,就是弟兄们。加class.card还是加book.card呢?好,首先我们呢,准确的答案是什么?不知道为什么,因为以你们现在而言的话,是不是确实不知道吗?但是有个好处,弟兄们不是左就是右,咱们是不是见两次试试案例来分析哪个好,我们用哪个瞬间明白了是不是大胆假设,小心求证,这句话非常正确啊好,来吧,我们读一个,先读左边或者右边来,现在我们添加索引,我们现在这个是左边这张表是不是class,右边这张表是不是book,那么现在class和BOOK2个是不是都有这个card,这个分类卡的这个字段,那么假设我们也不知道我们对错,我们试着看,无非就是先见左边出现一些结论,再见右边,再出现一份结论,谁好是不用。
05:27
谁呀?好,二话不说,我也不管对错,我们现在先建一张表,叫out table book表,At index,所以的名字就叫Y,然后呢,是给card表,没问题吧,啊,Book表的card字段。见表成功,键索引成功,这个时候我们呢,先跟前面看一眼,前面各位亲,咱们是不是这个动作,而且全卧吧,好嘞,看好。
06:04
各位亲,请看class是我跟上一个没什么太大区别是吧,但是你加在book了以后怎么样,是不是有明显的改变,而且你的瑞是什么,现在对这个东西前面写的什么share p有点感觉了吗?这个DB0629,请问是不是酷class是不是现在我们这张表card是不是我们用到的索引的字段啊?注意大家请看好,我们现在回答我这个book表在这是左还是右,左表还是右表正确,那么言下之意是不是左连接,我们第一种结论是左连接我加在了右表上面,不管怎么说,大家认为光从这儿看,光从这儿看,请问比两个都是握的时候强没强一点好。
07:04
那么呢,我们呢,可以呢,往下走,下面我们可以看到什么概念呢?那么呢,如果说这样呢,我们呢,直接drop index可不可以from什么那什么,呃drop index现在是不是关呀干嘛是不是book可呀,那么言下之意就是说我现在给他哎。不是不是什么on跟着你们本来是想后面的,怎么讲的话呢,那么这个时候错了一点哈,Drop in啊什么看drop index y on book上了吧,好,那么现在弟兄们第一波咱们是不是加这个好嘞,咱是不是换换现在咱们呢,加在什么class,这还是Y吧,好熟悉的配方,熟悉的味道来这个时候咱们是不是同样的SQ用不同的,所以跑跑看啊好,弟兄们露一现在咱们是不是还是这个好嘞,这个时候看看我们的结论有什么变化。
08:29
跟我说这个怎么样所好,你再跟我讲好还是index好,哪个好,那么言下之意,这个就是什么?同样的circleql,同样的索引,一个是加载了左表,在左连接,同样的circleq是指在左连接的前提下,我加载了左表和加载的右表效果是不一样啊,有点感觉,但是反过来讲,同学们请看这个呢,是是没变啊,那么所以说我们得到的结论是正确,因为左连接相反加,右连接也是相反加,反过来讲什么概念,我们要相通性来看哈,来同学们看,这是由左连接。
09:30
的特性,也就是说凡连接这种操作哈,当然咱们不刻舟求剑,我们以本例为说,具体我们是不是要落地到分析啊,一句话,但是大面先注入掉左连接的特性,是不是左表全都有,也就说咱们的。这货是不是全有,就如同说你今天结婚,正常来说你的最亲的那些亲戚,挚爱亲朋,比如说你父母肯定会出席吧,你不会说你结婚以后干嘛,你说老婆你先等着我去加个班回来再结,这个时候说白是不是左边全有,最关心的就是到底你也可能会统计,就是说来多少不来多少,是不是右边你比较注意,就是你的那些客人啊,有可能路上在堵车,有可能什么今天人家在加班,本来本来说好要来的,是不是又突然来不了了呀,OK,那么这个时候也就是说我们的特性决定了以后出现的问题是什么呀呢?
10:30
由左连接特性所决定,Left就应条件用于确定如何从什么右边看,So左边是不是一定都有了呀,OK,那么所以说右边是我们的关键点,一定要建立什么,所以所以说左连接加右表听懂,OK那么这我们呢给它呢改回来,那么呢我们呢直接呢干嘛呢再把它给啊这这个时候是在class上面了是不是好。
11:03
删掉没问题吧?那么show index from什么book,请问有没有索引是我主见,这个就咱们不说了,听到好,那么现在干干净净往下走,同学们抬头,假设你现在发现了这个问题,以后我们再回到这哈。刚才咱们是不是往这个表里面加了索引,然后这条circleql我们同样的去执行了以后,各位亲,是不是只有21行,注意这个时候工作上不要轴,DBA建数据库的索引,它是为全局负责,他不是为你负责,这个时候你不能跑,假设你这个索引不好用,你不要跑过去跟DBA说。DBA,你见这个索引不对,你看我这跑了就不好使,什么概念?各位亲,人家建在了布课表,这是希望你这么写,如果这个不好使了,以后怎么着?你可不可以把这两个表的位置对调啊,听不听得到啊,你不要跑过去DBA,你见的不对哈,那个时候你要只会是吧,叹一口气吹一下你是不是就没了?好,再往下,同学们来,我们呢,请看,因为刚才现在是不是折腾对了那么好,就像我们刚才所说的,你把表的位置交换一下,你不改索引也可以。各位亲,咱们。
12:43
左连接的时候键在右表键在不可刷出21条记录,这个是不是爽了,但是现在是不是就反了,OK哈,分分钟呢就变化好,那么呢,再往来看,我们现在干嘛呢?一样,我们呢,Drop index y book改成了刚才的X,我们又试了一次,是不是效果马上就不好了,好,那么下面左连接完了以后,咱们试试什么右连接一样,右连接跟刚才一样,右边的是不是全都有反过来我们是不是要光明关心左边啊,那么这个时候呢,所以说左边一定要建立我们的索引,那么呢,大家可以看看一下哈,我们现在如果以当前的索引,我们将class,注意class和book我们没有对调位置了,现在我是不是把left换成右边了。
13:43
把left换成right了,那么这个时候请同学们注意,左边和右边没变,但是right就是不是改变了,我们说过右表book现在是不是全有啊,但是我们是不是要建在class了,但由于我上一波索引是不是还是建在book呀,那么这个时候同学们一看是不是还是20啊,好,那么所以说将其删掉,或者说你对掉表的位置。
14:11
顾问,来。OK。我看这book是那个吧,Book这个吧,OK,那么来同学们请看我们这是不是重新建立一个表,那么大家看现在我们是不是右边没问题了吧,OK,好,那么现在我们大家看我现在是不是要建在class这一块了。没问题吧,OK,那么一样结合前面刚才的我们的分析,那么这个时候大家看是不是OK了,那么呢,我们呢,就记住左表左连接建在哪张表说牌是不是相反键啊,OK,好,那么呢,我们呢,第二表就是如上述内容所讲,那么下面呢,我们再来看看三表。
我来说两句