00:01
那接下来呢,我们测第二个。第一个呢,刚才看咱们做的是状语。对吧,好,我把这个呢复制一下。往下一放,你不能这样写,你这样写完了对吧?啊他呢不会执行。咱呢,把这个注释量,然后呢,我改一改,把这个地方改成什么left。注意看啊,我改成了left,那这个呢,就是咱们的left join的一个测试。对吧,我们要写一个左外连接的测试代码呢,都不用改,就改一个level join,把join改成level join就好了,对吧?所以前面我们已经准备了,那两张表呢,ID我都保留,因为现在是level左边单独有数据,它应该会打印。对吧,啊,但是他这个结果应该怎么样呈现呢。对吧,我们得想明白,注意这个时间还是十秒啊。
01:01
看到没?时间还是十秒,我没改啊,嗯,你要注意观察这个时间,如果说没有这个时间。那就是永久存储对吧,你随时来了,随时能关联上啊好。运行,我们做一个测试。好,这个打印的PD0秒啊,那说明启动了,呃,那既然左外连接对吧,我先说左边。啊,我我把这个准备好啊,因为有个十秒的限制是不是啊,所以呢,我把数据先准备好啊,省得等我着急忙慌的来说等会过了时间了对吧,看不到结果啊好,那我就快一点,我先输,左边注意看啊,他打印了一条数据,等会我们去观察啊,再说右边诶,他又打印了数据,但是呢,第二次打印了什么?打印了两条,你发现没?对吧,好,那我们来观察一下,首先第一条是不是它。
02:02
就是刚才我们说第一个的时候,是不是就是它呀,它打印的什么100123.5,右边呢为捺,因为我们是左外连接,所以当你左边单独来数据的时候。它打印左边数据加右边文档的合理吗?这个是不是没毛病啊,对吧,我只有左边的数据,我必然要把左边数据输出,因为我左边是主表,左边的数据所有的都需要。对吧,所以呢,左边数据打印,且右边为道,但是在十秒以内,注意一定要在十秒以内,如果说你超过十秒,你你去输右表,你跟刚开始直接输右表没什么区别,等会儿呢,我们去测对吧,好在十秒以内,因为我们规定的是十秒。在十秒以内,右边数据来了,你看他一下子打印了两条数据。他直接呢,给我们打印了两条数据。
03:02
对吧,那这两条数据。怎么显示的?首先第一个是什么。减D。表示。撤回。啊,你看这个数据内容跟第一条数据完全一样,看见没。对吧,表示把第一条数据撤回,然后呢,加I音色的对吧,这是delete音色的啊,再插入一条新的数据。哎,那幺零零幺二十三点五幺零零幺S2,就是我们右边输的数据,因为你现在呢。右边关联上了呀。既然你左边右边都有1001数据,那你把这玩意写出去是不是就不合理啊。对吧,你把这个写出去就不合理,所以人家做个什么事撤回。把那个数据撤回。然后呢,写一个新的数据出去,是不是合理了。对吧,它并不像离线,因为它是流对吧,你想想看,它是流啊,它不像离线。
04:03
离线的话,你数据都是死的,那左边单独存在的,它就是单独存在,那右边就不可能有。你数据是死的,但是我现在是理由是处理。你左边单独来了,我可以输出右边文档的数据,但是。我右边有可能。会来。对吧,右边有可能会来。啊,所以呢,它这样的一个形式。左边单独来先打印一个nu数据对吧,然后右边数据在规定时间内到达。那撤回刚才那一条,写一条关联上的数据数据。这个能理解吗?我觉得应该不难理解吧,啊,能理解的给我扣个一好吗?没有问题的,可以扣个一对吧,人家设计的就非常合理。
05:02
好,这个呢。啊,凯总说他误了是吗啊?真的过了吗?然后我们来看啊,嗯,刚才呢,我先输的是左边,再输的右边,那这次呢,我先输右边再输左边,大家看什么现象啊,我就1002可以吧,嗯,S1,然后呢,这个时间跟这个没关系啊,我先输好,但是呢,呃,步枪回车,我这边呢1002。来一个56啊,然后来一个八啊,后面无所谓对吧?嗯,那大家觉得这个时候应该是什么现象,我先输右边再输左边,它应该是什么现象,就是我单独先输这条数据的时候,大家觉得有没有数据打印。凭自己这个六个月的开发经验,对吧。说一下我单独输入右边数据,它会不会有数据打印啊。
06:00
大家觉得有没有数据打印啊?嗯,大家说都说没有啊,这次有没有反着买的。啊,有没有反着买的,在大家都说二的时候,有没有同学来扣个一啊反着买。牛总又慌了,1.5 1.5啊,班长开始摇摆了。船长已经选择当墙头草了。你看,站在中间。一也不是,二也不是啊,就站在1.5的位置。观望对吧,等我回城一敲。啊,看到答案的一个赶紧。对吧,啊,班长你太坏了啊。是吧,你怎么能做墙头草呢?你是二战时候的意大利是吧?二战二也也不能说二战意大利吧,就是世界大战时候的意大利啊,人家永远都是战胜国,哪边赢了就是哪个阵阵营的,对吧?
07:02
墙头草,墙头草不可为啊,班长没有人扣一是吗?啊呃,那就恭喜大家答对了对吧?好,右边单独输没有情况,然后输,左边他会关联一条数据,所以所有人都赢了,只有班长一个人输了。对吧,大家都没改,班长呢,当了墙头草,站在1.5的位置是吧?他扣了一个1.5啊,来不及了,班长啊,现在扣二已经来不及了,对吧?只有终于只有班长一个人受伤的世界达成了啊,我很开心对吧?啊,我相信兄弟们也很开心啊。好,呃,那必然是这样的结果呀,对吧,因为我们是左外连接,当你右边单独来数据的时候。我怎么可能能出结果呢,对吧。那万一左边没有呢。那你这个数据就就会丢掉呀,对吧,当然在规定时间内,这个左边数据来了。
08:00
是不是就没有问题了呀?对吧,左边数据来了就没有问题了。好,这是我们看到的一个现象,接下来呢,我还有东西要给大家去测。啊,还有什么东西呢?呃,这样咱们再搞一个数据啊,1003啊。三。八啊,然后把这个输进去啊啊,但是还没输啊,我只是敲好了1003。嗯,98.5,然后呢,给一个八。好吧,我把这个复制一下哈。我干什么事呢?呃,大家还记得那个十秒的事儿吗?对吧,我们来测一下这个十秒的事啊,它呢跟我们的英德状语有一点不一样啊,需要大家通过观察,然后结合我们前面所讲的知识点,自己总结出来,它它产生这种不一样的原因在于什么?它底层关于这个状态的存储到底是怎么做的,需要大家自己去分析一下。好吧,好,那这样啊,我们先在右边输一条数据,注意看啊,先在右边。
09:05
注意数或者现在呢。接上我们上一个视频对吧?呃,我已经把这个数据准备好了,但是呢,还没输啊,接下来看一下我要测的东西,好吧,测的什么呢?就跟大家说一下,就关于状态的保存,就是这个十秒这件事对吧?好,那我这两个数据准备好了。两个数据都已经准备好了。我先说。右边。再输左边,同时我把这个数据呢,会一直输。那现在呢,还有因为。还是十秒内对吧。哎,你看突然我是不是一直连续输的,那前面都能关联上,突然就变成什么了。变成了浪值,发现没?对吧,说明从这一刻开始已经怎么样。是不是已经到十秒了。
10:00
有没有问题?没毛病吧,对吧,确实这个十秒他照样是不是还能生效啊,对吧,当然有的人说你你说十秒就十秒啊,那你要不信你你掐个表算行不行。这个咱们就没必要刚这个事儿对吧,说我们设置了十秒,到底是不是十秒,说掐个秒表去抠一下,我觉得没必要吧,这叫抬杠了,对吧?啊没必要啊,那它会过期,因为过期以后你右边数据没了,所以呢,右边就变成什么了,变成杠了,这个没毛病吧,哎,那也就说这个不是。想象中的事儿吗?对吧,你还测测什么呢?这个你还给我错看看不起谁呢,对吧来。接下来就给你看一个诡异的现象。我这边呢,左边先输一个1004啊。还是八,但是呢,我先不输进去对吧,呃,右边呢,来1004。S。四。哎,那这边呢,我们也写一个八好,那我先输这个左边当然先输谁无所谓啊。
11:05
先输左边,哎,它会打印个捺对吧,再说右边它会打印两条数据,把老的撤回对吧,新的写进去,好,那我继续输这个数据啊,我一直在右边输,大家这个时候可以帮我计个时啊呃,你就从现在计时,你听到我声音就开始计时,计时十秒,十秒到了,你告诉我好吧,你扣个一,你说十秒到了。你就从我中间,我都不知道,大家从最开始那个时间计时,你就听到我刚才开始测试之后,你开始计时对吧,十秒到了,你告诉我。好吧。我等到第一个同学扣一的时候,咱们。停。啊,你可以帮我计时。到了对吧。到了是不是。好,但是怎么样,看这么长时间,不管怎么样,十秒早就到了。
12:05
但是这个你看左边这个100怎么样。左边这个100。他还有对吧,我们再数一下看你们。哎,没了。啊,我停了一会儿好像就没了,是不是这种感觉啊?对吧,那看。那这个中间我的这么多怎么可能。对吧,这个中间十秒早就过了。那这个该怎么理解呢?这个事很诡异。对吧,但是这个是不是说左边这个数据不过期呢,我没有这种想法对吧?好,那你要说左边数据不过期,我再说右边,那现在呢,他又没了。你看没有数据了,说明左边没了嘛,左边数据清了,右边数据单独输出不来,那这个现象该如何解释呢?很诡异对吧,你说要是左表。
13:03
是主表,我们左外连接,大家可能想到左边是主表对吧,它数据不过期。我们想到这个,但是呢,我立马就把这个这条路给堵死了,因为我过了一会儿再输,我发现怎么样。他确实也能够删掉,但是这这怎么就不遵循十秒了呢。他凭什么不尊重规则呢?对吧,为什么就他一个人搞特例?啊,就。没有这个十秒。有没有同学结合前面的知识点,给我把这个问题解释一下?对吧。有没有同学来解释一下?啊,云总说自动变更过期时间啊,牛总说有点像会话窗口。
14:01
呃,绘画窗口。有点牵强了吧?合并窗口,为什么你们会想到窗口呢?这要是窗口的话。怎么可能会来一条输出一条。你想想看,如果是窗口,他可能会来一条输出一条嘛,不可能吧,对吧,所以肯定不能往窗口想啊,这个不就是状态的一个维护问题吗?所以云总说的没问题啊。云总说对了,你懂吗?就是它会自动变更过期时间。啊,而且。怎么样?就是左表对吧,左外连接只有左表,左表。怎么样就可以重新?重置这个过期时间,还记得我们状态可以设置TT吗?对吧,结合我当时还提示了,我说结合前面我们所学习的知识点来考虑这个问题,对吧,那这个里边状态它保存的时间。
15:11
写操作吗?这个是写操作吗?方总,我我这边我这条数据可就写了一次。我后来都是写右边的数据。右边数据去读左边的状态吧。是不是去读左边的状态啊。对吧,可不是写操作,应该是什么不操作,你看我左边数据这玩意儿只写过一次啊。他要写更新,那不就十秒就没了吗?对吧,他应该是怎么样。左边数据是如果被读了它。就会更新自己的超时时间。对吧,所以呢,这边我们就得到了一个结论。
16:00
In的状语。左表。保存方式与右表的保存方式。相同对吧,都是创建。就重置时间,而left join可不是对吧?诶,那这个呢,我们可以把前面我们那个东西拿过来给大家写在这儿。DWD。UV对吧,在这我们讲的这个题条。就他。啊呃,那我们内连接左边右边都是create and right。对吧,就会更新时间啊,被读他不会,因为当时我们错了,我们输入左边数据,右边一直输。突然有一刻没有结果了,因为时间到了,你哪怕左边一直在被读,没用。对吧,一直在被读也没用,我到了时间就干掉了,好,那对于我们的这个level,右表是不是遵循这个规则,但是左表呢,注意看它并不是这个,而是谁啊,叫on read and red。
17:15
哎,那如果你的数据被读了,他也会重置这个时间听懂。OK吗?没毛病吧,对吧,因为刚才是什么情况,我左边只输了一次1004,然后在右边一直输,我发现只要我不断,我一直输左边这个数据好像就不会过期,但是呢,中间断了,如果连续断了时间超过了十秒,是不是你再输左边这个右边数据它照样也关联不上了,说明左边已经被。过期已经被删除了,OK吗?能不能理解?
18:01
能理解吗?能理解的给我扣个一好吧。对吧,这就是状态的保存啊,状态的保存问题。应该能明白吧。这个它不难哈。嗯。怎么你睡着了。其他同学?啊,不要睡着了啊,对吧,不要睡着了啊,这块东西还是蛮重要的。好,这个东西呢,我觉得不难啊,但是如果说自己去发现这个问题可能会比较难,但是我我我通过演示的方式给大家展示出来了,最后呢,再告诉大家结论,这这样呢应该是不难的,对吧,那但是下去大家呢,肯定还得自己去测一测,这样的话你印象更深,你不要光记这个结论啊,你近两天可能忘了,你得自己去玩一玩,测一测,对吧,你这样印象会很深啊,你都可以去测一测嘛,对吧,好。
19:03
呃,还是一样的,我把这个呢复制一份对吧,然后改吧改吧,啊这个呢要注掉啊。这个呢,改成。对吧,右外连接,哎,把这个地方呢也改一下。啊,这个右边连接,当然其实我们。就算没有测这个东西,我们也能猜得到这两个吧。就是你看右外连接。他左表应该是什么情况。他左表应该是什么情况。它左表应该是on create and write,大家想是不是,而右表呢,应该是被读了就更新吧。刚好跟左外连接,两个人怎么样?相反,没毛病吧?对吧,他应该是这种情况啊,那就是就算我们不测,我们也知道这个结论啊,但是呢,咱们根据这个结论来测一下,看是不是这种效果啊好首先呢,运行。
20:06
嗯,稍等我看这边啊。这个好像数据有点多哈。咱们把这个呢,重启一下啊。好,然后呢运行。诶给卡住了。PD0秒,那接下来呢,我们输这个数据啊,那我先输右边的数据对吧,1004,我就给一个1004啊,然后呢,再输左边啊,当然右边没输啊,那这个效果一样的,我先输右边,它会打印左边为呢。他会打印左边文档,然后呢,在规定时间内把这个数据补上,它会撤回刚才的数据再补一条。对吧,啊,这个没毛病,当然了,如果说我先输左边1005对吧,100。
21:02
啊啊,然后呢,去输右边。我先输左边输进去它没有效果对吧,再输右边它会打印一条数据,哎跟我们前面的现象是一样的,毕竟你是右外连接,以右边表为主,对吧?好,那接下来呢,是我们测。这个状态的保存问题。对吧,啊,我们测状态的一个保存问题,首先呢,我们测左边状态1006啊。我现在左边输一条,右边呢输进去好,那接下来呢,我们再继续输右边对吧,输。现在呢,左边都还有,你看啊1006还有诶突然变成闹了对吧,我在输右边数据的中间并没有间隔十秒以上对吧,那左边呢,它是按照创建。
22:08
给定的时间,所以只要到达十秒就会被删掉。对吧,他不用管你被读了没用,但是反过来就不一样了,比如说我再来个1007对吧。嗯,假如S72。然后这边107。然后100对吧,八好,那我们先把这个数输进去啊,把这条先。先输右边它单独会打印一条,然后输左边它呢会打印两条,撤回一个,再放一个对吧,再回车啊继续输啊呃,这个时间呢,你就可以计时一下,就算他到了十秒,这个数据怎么样。也照样两边都有,你看S7还在。对吧,还是C还在啊,因为那如果说他不在了,很简单,那就是没有数据打印了,对吧,只要有数据打印,右边一定有啊,因为我们是右外连接,左边单独来数据是不会有数据打印的,对吧,你看还在还在找啊,还是有数据,因为这是我们就是我们所说的它的右表呢,此时采用的是on read and write这种方式吧,对吧啊,我一直输它就一直有啊,但是呢,当我停了。
23:26
我歇一会儿对吧,啊,歇一会儿呢,歇个十秒钟啊就。最少要十秒钟,你要十秒以内肯定不行,对吧,哎,你歇个十秒钟不访问,因为他重置了十秒嘛,对吧,那。过了十秒以后,你再去输这个。左边的数据它就不会有打印了,来注意看啊。左边出一个,诶,没有数据打印了,对吧,我已经数据了,光标在这儿啊,光标在这对吧,这个就不会有数据打印了啊,那就证明了我们的一个点,当然这个其实是比较简单的一个点,对吧?啊,因为我们已经有了左外连接的基础了,所以右外连接呢,就是我们快速测一下就好了,对吧,不用卖关子去说明啊,直接把这个结果写出来啊,因为就算啊,我退1万步说,官方不给你提供。
24:13
右外连接就是说这个语法直接报错。都无所谓,说实话。对吧,哪怕他不给我们右边链接,只要有左边链接就够了。对吧,因为我们无非就是把这个T1T2表怎么样。我把它换个位置。它不就变成左外连接了吗?对吧,啊,它就作作为左外连接了,所以呢,右外连接呢,就是相当于一般呢,用的其实也比较少一些,对吧?好这个呢,咱们就搞定啊好,那剩最后一个我们测这个for,也就是说咱们的全外啊,那其实呢,在我们测之前,我们也能够推出来它全外连接它的一个。现象是什么样子,以及它存储对吧?那全麦连接首先这个位置呢,改成for join对吧?那咱们的注释呢,我也给它改成for join啊,那全面连接,那么两张表都应该是什么?Read and right,因为两张表呢,都是主表了,两张表所有的数据都要保留,而且它这个现象就是无论左边右边谁先来这个数据。
25:23
对吧,那么都会打印一个文档的。都会打印一个文档的数据,没毛病吧啊,然后呢,状态都是被读了就要更新这个时间啊,那我们来看一下啊,把这个来测一下,这是我们通过这个呃,左外连接测试的结果推出来的一个点,对吧,好来运行。嗯。好,那我们先测左边可以吧,我来一个1001啊嗯。对,然后呢,把这个数据随便给,后面随便给,主要是看这个主件对吧,好,那这边呢,我也给一个1001,然后呢,S1。
26:07
先给左边。好,那左边数据单独来了,右边文档对吧,再给右边那第一条数据撤回,再写一条对吧,这是左边先来,那同理咱们再来一个右边先来1002S2。八对吧,好,这边呢,我把数据准备好1002,然后呢100。然后八。对吧,好,我先来右边,诶他呢会写一个左边文档的数据,接下来在规定时间内,左边数据来了,他把刚才数据撤回,再写一条新的,对吧?因为此时两张表都是主表全面连接,所以呢,他俩都这样。对吧,两个现象一样,接下来我们测这个状态的存储对吧?好,那比如说我来一个左边1003,这个无所谓,先测谁了,对吧,好100。然后这边103。
27:01
S3。对吧,然后给个八好,那我先测左边状态的一个保存问题,对吧,输进去。好,它这个捺输进去撤回刚才捺再写一条,好,那我一直在右边输,是不是左边数据就一直被读啊。对吧,左边的数据就一直被读,只要一直被读,哪怕过了十秒,他也不会怎么样,过期也不会去删除,你看现在对吧,左边右边数据都在啊,没有文档的。对吧,完全没有文档还在打印啊。其实说实话,这个时候十秒早就已经过了,对吧?啊,当我停止不输了啊,当我停止不输了,等十秒我再去输对吧,我把这个数据呢准备好,等会跳回车啊,我们等个十秒再去输,那么你将会看到左边为那右边有数据的情况。对吧,啊,因为左边的状态就已经被。
28:03
清空掉了啊,时间呢,应该差不多了,到了对吧,哎。瞧。那此时呢,左边为闹。右边有数据对吧,因为状态他照样遵循十秒会被更新啊,那要来我们测右边都给一个1004。S4对吧,好,然后这边呢,我给一个1004啊,然后100给一个好啊,我把它复制一下啊,因为等会呢,我们要重复书啊好这边呢,先输进去,它会再把一个捺数据没有问题对吧?接下来呢,我再把这个左边数据输进去,诶他撤回呢,再写一条继续,只要我不不间隔十秒以上,那它就是这个现象。对吧,其实测到最后大家就感觉这个东西。没有什么意思了啊,就刚开始测测这个level draw的时候,感觉还挺有趣的,对吧?诶他还能这么玩,但是到后面等我们已经掌握了他的。
29:00
内容以后你再去玩这个东西,感觉就没有什么意思了,对吧,过了十秒他肯定还是有的啊,那除非呢,等什么时候等我们等十秒不输了,对吧,让右边的这个状态呢,没有人去访问了,哎,我们在这个基础上去,如果能够等这个。十秒。那就OK了。对吧,等个十秒钟啊,那现在这个时间应该差不多了啊好,那我们把这个输进去。走。那右边的数据怎么样。为难了,右边数就为闹了,没毛病吧,对吧,就是把我们推出来的结论呢,最后再验证一下,也不是因为其他的,就是简单的验证一下OK吧,好。
我来说两句