00:00
接下来我们讲一下物化视图啊,这个是可里格house特有的啊,那咱们前面也讲了视图跟物化视图的一个区别,对吧。什么叫视图啊?哎,对,他只记录了咱们搜索里面的逻辑,也就是操作,他数据并不保存下来,那物化视图呢,它会真正的保存数据,那我简单画个图大家就懂了啊好,这这是一张表,叫A。那这里呢,是我的缪不试图啊,被记住了什么,是不是操作的circle啊,对吧,可能是比较复杂,可能简单,那它物化视图多了一个啥呢?它其实会默认帮你保存一个东西。它会自动创建一张表,这张表就是用来存放经过这些操作的数据,其实它就多做了一个事而已,这两张表把数据存起来啊,那这张表如果咱们不指定默认叫点。
01:12
点阴了点,然后呢,后面跟一个原表的表明A,一会咱们演示的时候,你就能观察到这个现象啊,那么这张图你想想我下次查这个视图的时候。它会怎么样?呃,我换个颜色啊,大家喜欢的黄色啊,我查他的时候,他是不是实际上去查这张表啊,隐藏的表对吧,他帮你创建的表,然后呢,把这个数据返回给你。这就物化视图,那你想想这样效率是不是很高对吧?效率很高,为什么效率高?你想想咱们对宽表直接都是select就完事了吗?你是不是得做聚合呀?你有统计吗?统计就得聚合,那你是不是可以对聚合的逻辑做一个物化视图,那效率就提上去了,这就是一个应用场景啊,那我们来试一下吧。
02:17
那这些都讲过了啊,普通视图不保存数据,只保存查询语句,物化视图,把结果也存起来,存到哪磁盘或内存里面,其实就是一张表啊,优缺点,优点是什么?快的是吧,就是不快的话,我用它干啥,但是我们聊一聊缺点啊,对,有个缺点得跟大家聊一聊,那这样像不像一个什么流式数据的场景。对吧,有新的数据,我是不是又进行了一次搜狗逻辑生成了一个新的结果。对吧,那它是一个累加型的一种场景,那如果你要对历史数据做去重,历史数据做去除是不太好使的吧,说白了是不是只追加。
03:09
对吧,另外一点,我对同一张表,比如说还是表A,我能不能对它存多一个多个物化视图,比如说咱们宽表层是不是就呃不到十张宽表啊,但咱们指标是不是有几十个,那你可能这些指标有这么多个指标,都有一个聚合逻辑,那你是不是这么想的,我每一个聚合逻辑创建一个物化视图啊,那你想想这样有什么缺陷呢?你是不是但凡你往A里面放一条数据,这些都要算出来,对吧,如果有些指标是没必要的,那你。操作就多了呗,对吧,就像一个。中成年男子。
04:03
他在18岁到22岁是一个很快乐的时光,在上大学对吧?那么当你毕业之后走上社会,要经受社会的毒打了,那你还要未来,还要结婚,还要生小孩对吧?比如说彩礼30万啊,不还啊,在接下来,呃,又要又要让你买车买房,然后呢,可能家里掏光了你的父母,再之后呢,你去贷款对吧,家里房子也抵押了,再往后小孩出生了对吧?小孩出生又开始各种进口奶粉啦,纸尿布啦,这啊那的对吧?而且你老婆啊,你对你你你爱人啊,不一定是老婆对吧啊,你爱人呃,是不是得帮你带孩子啊,如果父母没帮你带的话,那他是不能工作呀,那生活的压力是不是在你一个人头上啊,对吧?那就跟这个场景一样啊,本来你是孤身一人,现在你身上绑定。
05:03
了这么多东西,对吧,你以前你打游戏充钱充充几1000块钱,眼睛都不眨一下对吧,现在1000块钱,现在十块钱都得犹豫一下啊,今天这顿饭我只省两块钱对吧,一个月下来省600块钱啊,是吧,是吧,啊不对,省60块钱啊,对吧?这就是他的一个缺点啊,缺点。就是如果这几个指标就是你想要的,就是你本身要查执行的一个查询,那就很适合,对吧,我们说的是一些,你不要觉得越多越好,越多越好,对吧,非必要的你就不要加固化视图了,这是它的一个优缺点啊,优缺点诶那我们简单了解一下它的语法啊,它的语法跟电表语句特别像,你看create视图是不是叫view啊,不叫table啊,好,就通常会加一个关键词,这是物化,对吧,物质化的意思,物质化就create物化视图,然后呢,是不常起一个名字啊,好,大家注意,这边有个语法叫什么to,好,我先标着啊,这可以不写,然后后面写什么呢?
06:23
这里是表结构,什么引擎啊,分区啊,Order by字段啊,跟你建表一模一样啊,这边都一样,后面呃,Select是不是你所谓的那张表A呀,对吧,好正常就很简单区别,其实大家看到了,是不是这个地方不一样而已,好,那这个to我再解释一下什么意思,那前面不是讲了吗?物化视图它是不是得保存数据啊,我们说它默认会创建一一张隐藏的表,点阴呢。然后加原表明,那如果你写了一个to,你还要给他起一个新的表明,比如说你叫B,那这个B会作用在哪里呢?你存的这张表就叫B了,就不再是那个婴儿表了,就这个区别而已啊,行,这是它的一个语法。
07:16
还有一个关键字啊,这个。这个一般在生产环境咱们不建议添加,为什么加上这个关键字,你在创建视图的时候,他会尝试把历史的所有数据都走一遍,然后存下来,都走一遍然后存下来,那这样是不是有一个不可用时间,你初始化不要时间吗?那有的同学就想了,我就是想要历史数据也存进来,那怎么办?你直接插入到试图用银色的语法就好了,注意啊,这个关键词的作用就是把历史数据也弄进来,那生产环境不建议加,那推荐方式,历史数据你真的要你重新in射进去视图里就好了。
08:08
你自己银色的进视图里啊,行,呃,这是咱们先对物化视图有一个直观了解啊。
我来说两句