00:00
那么接下来呢,给大家呃,演示一下啊,演示一下,那么先建一张测试的用表啊,Test DB库下面啊这张表,然后有这么几个T列啊,前面这几个都T列,那这个。最后访问时间我用的是replace,这种聚合类型,是不是只保留最新的数据对吧?那为了做对比,我设了一个没有价值的一个字段啊,就是也是最后访问时间,然后not now,我用的是replace if not now。好吧,看一下now值对更新类型的影响啊,然后这个cost用的some类型啊。这个时间用的是最大值,M时间用的是最小值,好,那当然都设了一个默认值对吧?啊,这无所谓,那你看指定aggreg key前面的key列全部给它写进来。然后呢,我也不做分区了啊,咱们也没什么数据量对吧,我只做一个分头啊。
01:03
根据用户ID分口啊,你分不分都行啊,无所谓,咱们只是演示来,我们进入到这个MYSQL客户端了啊,已经连接上be了啊,又test DB。好,我们把这个电表语句直接粘过来。好,显示OK,来short tables,那这张表就建好了啊,示例表,好,接下来我们来演示插入数据,同学们,你看我现在插入是什么?色into这张表,然后values是不是逗号,逗号逗号。逗号逗号逗号是不是一条插入语句,插入多行数据啊,这个是不是一批呀啊。啊,对吧,一次性插入一批数据对吧,那我们看看这一批数据有没有变化啊来我们先执行一下,然后再分析结果。
02:06
好OK啊,七行受到影响对吧,那我们这个时候来查一下这张表。It。来,我们把我们插入的数据截个图啊,我们这是不是一批次导入的呀,对吧,那我们再来看一下这个结果。呃,我缩小一下,看能不能缩成一行啊,哎,可以,那这样大家应该看的清楚吧,来我这个放下面,首先我们对比一下数据条数啊,这边应该是有七条对吧,1234567,好,你看最终剩几条。123456,是不是只剩六条数据了?对吧?好,那就奇怪了,为什么数据变少了?因为他帮我们做了聚合,那我们不用回忆那个建表语句,应该也知道前面这几个是什么气列。
03:11
后面这几个是不是value列对吧?看字段名就知道啊,最后时间这个我们用的是replace,那这个用的是replace not not。这个用的是什么丧?这个用的是。Max这个用的是mean聚合,好,这是我们把每一种聚合啊都设计好了,演示一下来我们看一下第一条数据,ID为1000,时间是这个。地区是这个一直到哪呢,一直到这个sex这个字段为止,是不是跟这个一样。对吧,好,那么看后面的参观时间是什么,是是不是六点,但这里是什么七点,为什么。你看第二条数据前面一模一样,前面一模一样,是不是T列完全一致啊,这个不就等于。
04:08
我们那个group by啊,CC1 C2 C3对吧,就这些是不是都是T列对吧?那前面这个12345这五列的值完全一样,是不是表示这条数据啊,这它们是属于同一组的,好,那接下来你看这条数据的时间是不是七点,那我们这个字段的聚合类型是不是replace replace只保留最新,也就是说六点是不是被七点给替代掉了。对吧。所以这边只保留了一个七点,那么再往后看,Not not。Not now。那由于。这个原先的这条数据时间是六点,现在新来的是七点,前面T一样对吧?啊,我就不再讲了,所以是不是也替换成了七点对吧。好。再往下走。
05:01
呃,Cost,这是不是聚合呀?对吧。聚合,那你看一开始的cost是多少啊,注意看啊,我用蓝色来表示第一条数据。是20,第二条数据是15,所以cost这个字段做了什么事?是不是做了一个some?20加15是不是就等于35对吧?因为他们前面K相同,属于同一个分组的啊,再往后求最大值。这个字段第一条数据是十,第二条是二,十跟二,最大值是多少十?那最后一个字段求最小值啊,这个也是十,这个也是二,最小值是二,你看。这个就是我们的。聚合模型。很明显吧,我们查到的结果直接就是最终的结果,好,再继续。那后面这几条12344。
06:02
其其实这几条不用看了吧,一定是什么。啊,就123这几条。一定是没变化的,为什么?因为你首先这个ID都不一样,对吧,不可能是同一个T啊,不可能同一个T,那么再往后看零四这两条他们也不是同一个T的,为什么?有的同学说不都是零四吗?大家注意我们的T列是只有一列吗?我们是不是前面这五列都是T列?对吧,只有这五列的值都一样,所有P列都一样,才能认为是同一个分组,才能根据我们聚合类型进行聚合,对吧?你光ID一个字段一样没用,你看第二个字段不一样。对不对,对吧,虽然后面其他几个字段啊,这两个字段又一样没用啊,必须所有P列都一样才可以好,那所以呢,发生聚合的是不是这两条数据。对吧,这个案例就比较清晰了啊。
07:09
OK吧,好,那我们继续看,那么注意啊,我这边是不是一次insert插入多条数据啊,这种还好,那如果你是insert into单条数据,也就是说我这边插入七条数据,我是写了七次insert。让大家注意在生产中尽量少用insert into单条数据这种操作。不能够再生产使用,不是不允许用啊,是不建议用,因为这样会引发血阻塞啊,这边。只是也是需要,所以我们当然我们也不是单条插入对吧啊。那把这句话删掉啊,我们也不是单条插入,我们是批次插入还好啊,如果你是一条一条银色的,不要这么做啊,不要这么做。
08:01
嗯。好,这是第一个事例啊,我们导入数据的聚合。这是不是在导入阶段的聚合对吧?啊。
我来说两句