00:00
接下来我们来演示一下啊,实际操作一下,那我们创建一张销售记录表啊,有这么几个字段啊。记录ID,呃,销售员ID。商店ID。还有一个销售日期,销售的金额。那简单做一个啊,设为一啊,很简单的一张表,我们创建一下。好,创建完之后,我们随便插入一条数据,一定要插入数据啊啊,要不然你物化视图啊,会匹配不上啊,没有数据的话是它不会去匹配物化视图啊,如如果是一张空表的话,好,那这个时候我们创建一个物化视图,语法呢,就create物化视图,哎,然后起一个物化视图名字,后面加一个S,那后面就。跟上这张物化视图所要记录的操作啊。
01:03
来拷贝。好,这个时候要稍等一会儿啊,那张表可能还没好啊,我们稍等一会儿。啊,再等一下啊。基表还没好啊,他这边说的是这张机表,不是一张稳定的表啊,要等他那个。均衡稳平衡。或者处于一个什么呢调度状态,或者我们先看一眼这张表。应该已经建表成功了才对。是吧,再试一下吧。还不行的话,再等一小会儿,因为可能是我这个分头没去指定数量。
02:06
嗯,再等一小会儿啊,有点慢,好,那么经过我的等待,我什么也没干,我又执行了一遍,成功了,对吧,那这个时候物化视图就执行创建了,那我们构建物化视图可能是不是有一些存量的数据啊,什么叫存量,也就是说这张基表可能本身已经是有数据的。哎,你后面才建的物化视图,那么它会对存量的数据是不是进行一个处理同步对吧?我们说的是一个异步的过程,那我们其实可以通过这个show命令去查看,这是一三版本才支持啊,一二版本是用roll up的命令,物化视图是一三才有的啊,然后呢,这边要指定一个库名啊,库名来我们看一下瘦。Out table。然后呢,五霸视图from这个库啊,回车看一下。
03:03
那这边有几个是我之前创建的啊,这个这几个咱们不用去看啊。这几个不要去看。那我们看一下,它其实将之前的记录都记录下,你看之前我们也是roll up的时候有的,这里也有啊,所以我们说其实在后期的版本,呃,你就直接用物化视图就行了,它包含着挖所有功能,而且物化视图它也是怎么样。啊,在底层也是显示为可能是一个roll up,好,那我们看一下啊。呃,这边有个字段叫state,如果为finish状态,就说明OK了,说明OK了好了。那OK之后我们怎么做呢?你也可以DC查看一下这张表的所有的无法视图啊,DC然后加一个O。
04:04
那会查看到这张基表及这张机表对应的一些啊,Roll up也好,物化视图也好,都能看到啊,你看这边能看到吧啊上的聚合好,那接下来我们怎么验证有没有呢?通过explain就能查看到了啊,那我们分析根据原理分析一下啊,现在是机表跟一张物化视图,首先我们这里没有过滤条件对吧?接下看group by字段store ID物化视图有没有啊。哎,我们看这个物化视图里边是不是包含了这个字段,哎,它匹配上了。基表肯定也有啊,这不用管,其次呢,我们看聚合子的,哎,物化视图是不是也有,那基表不用讲也有。那其实select这两个字段都有嘛,所以这俩不分伯仲对吧?啊接下来怎么选呢?是不是两个原则,第一个原则前缀索引。
05:03
那么匹配啊,效率更高。对吧,那我们知道物化视图跟都呃那个一样,对吧,那我们指定的这个字段,它是不是一个排序列。对吧,所以他。肯定是能匹配上,那基表呢,由于我们没有去做一些处理,所以呢,他应该是没有他快。那其次呢,第二个原则比较什么聚合程度,那我们物化视图是不是做了一个上聚合对吧。那基表呢?没有啊,这个字段没有做什么聚合,聚合程度不乏,视图更高。呃,综上,我们应该得出结论。最终匹配上的最优选择是不是应该是这张物化视图是吧?好,那么通过explain就可以查看有没有走物化视图来。好,那我们看什么呢?我们直接看这个这个。
06:04
Op扫描节点在这里呢?如果你看到语句和状态是开启的,其次呢,Roll up这里匹配上了,这是不是就是我们物化视图的名字?对吧,它显示还是一个roll up,那就说明我们的物化视图生效了啊,生效啊,这是第一个案例啊,那如果你要删除一些物化视图的话,可以用这个语法啊,这里我就不删了啊。啊drop,然后呢,物化视图把他的名字哦,还有他基表的名字要写上带上啊。
我来说两句