00:00
好了,那么我们接下来就开始看一些正式的内容了,第一个建表优化,咱们建表click house里面要指定的东西是比较多,什么分区啊,什么auTo Buy啊,对吧,还有引表引擎啊等等等等,对吧?那除了这个之外讲几个问题,数据的类型,也就是字段的一个类型,首先第一个时间字段。在咱们的have里面,大家想想咱们的日期也好,时间错也好,一般都会弄成什么对吧,你后期需要啥,是不是可以转呢?对吧,他不会特意去存一个date类型,不会去存,但是大家注意在click house里面并不是这样,Click house里面相反能不存string的是不要存string,因为底层还要时间转换啊,这边我会给到大家一个例子啊,你看我这边建表,那后面这些先不投啊,你看有一个字段叫create time in32。
01:06
是不是弄啊,相当于弄啊,对吧,好,那你看我在指定分区字段的时候,如果你直接也是转换格式嘛,年月日嘛,如果你直接传进来,不写这个to date不转换的话,他直接报错说不支持。来,我们试一下,我给大家试一下,我把这个图date去掉。其他不用管啊。诶,到我的阿杜三来直接粘贴回车,你看是不是报错了。也就是说你想转成这种YYYYMMDD,它就是说这个T32类型就不行了,那如果你存一个十对呢,那它同样也不行,你也得先涂date对吧。
02:06
那如果加了一个图date,他就没事了,又得考一遍,说白了让他底层少做一点事,因为他对这种日期类型,他的底层也是存在什么弄对弄。那我们最好存什么类型呢?直接就是一个data time类型是最好的啊,直接存一个data time,这样不需要经过转换啊,说白了就省了一个事儿,不,不需要经过转换啊,你看我这个语句肯定是能跑通的啊,肯定是能跑通的,OK对吧?但是如果你这里不是三二,也不是string的话,比如说是一个data time,那你这里就不用加to date。这是一个小细节啊,说大不大,说小不小,你看你数据量一大,是不是影响还蛮大,每条都要做转做做一次转换的无意义的操作。
03:03
嗯。说表已存在对吧,那我改个名字嘛,我叫二二对吧,回车。OK了,你看这里是不是不需要再去转换的呀,对吧,刚才大家最开始也看到我用INT32直接想转他不让转,他说非法的类型啊。这是第一个注意注意事项啊,时间字段的类型。那第二个问题是什么空值存储,派普的空值怎么存啊,你看RN这个,那还是说如果你从my circlel倒过来,是不是有一个空值格式不一样的问题啊,还有转换对吧?那咱们这个click house是啥样啊,它是一个knowledgeable knowledgeable,而且大家注意写它的时候尽量避免写not词,尽量避免not纸,为啥它会影响效率。
04:04
在官网也有一个说明啊,来,我们先建一张表啊。列表两个字段,一个是INT8类型,一个是什么?Knowledgeable什么意思呢?表示可以为空,就是你的类型被这个knowledgeable包住的话,就表示这个字段可以为now嘛,啊,也可以是正常的int吧类型。这张表这些都在default就行了,你们如果在官网是玩不了的,他不让你建表的,比如说这是官网。点八执行应该是建不了,你看没有足够的权限,官网只提供了一个查询啊,只提供了查询,你想想你要是在那里乱改,那别人怎么办,对吧,所有人都要在这里玩呢啊好,那我们执行个插入呗。
05:00
来,拷过来,你看,插入两条数据,第一条Y的值为now,第二条Y的值是正常数字。好了,比如说S加y from。T,闹,你看这玩意儿叫什么玩意儿,是不是很丑啊,就是闹啊,而且你发现没有,我做的是什么X加Y,你看对第一行数据来讲是不是一加no,但它结果是什么?那跟not值没法做加法啊,那第二行数据二加三四个五没毛病吧,对吧?这玩意儿大家掰手指应该能掰过来的话,两根再加三根是吧。那十十一根怎么办啊,啊加脚趾是吧,可以啊,学的很到位啊,那好,那有的同学说这又咋了,来你咱们来看一个东西。
06:04
那还是阿杜三对吧,我现在要root用户,省的又没权限啥的,对吧,那咱们数据路径是不是也是在配置文件指定的呀。在哪里啊,在哪里忘了对吧,默认在VR live那个house里边,你往里面瞅一瞅。数据主要在这吧,Data。这不是你配置文件指定的,当然这个是默认的,进来你看是这是什么用库名啊,你再进去我们是在哪进的,应该是在default对吧?好再进来你看是不是有张表叫tno,好,你再进去tno你看。这是不是X这一列,这是Y这一列的数据,对吧。咱们克里格号是不是劣势存储啊,它是还单独得存一个什么not,因Y这个字段你可以为not,那么它会单独给一个文件来重组not,这是第一个不好的地方。
07:12
得单独存。那我们在实际使用怎么办呢?那肯定会原始数据本身就有not值啊,那咱们可以附一个默认值,比如说字符串,我们可以给个啥。是不是可以给个空串呢?那如果是数字可以给个啥,给个零零还不一定好,对吧,你给一个业务上没有意义的,比如说负一,很多时候是不是没有意义啊,那你就可以给负一嘛,这时候你查询的时候,你可以作为一个过滤条件,对吧?那负一相当于说就代表闹嘛,总而言之就不要纯成闹就对了,不要纯成闹就对了啊,对于click house来讲啊。
08:01
那还是说第一点要多一个文件,第二点是什么。无法被索引,大家即使对索引不是很了解,也知道它的作用是干嘛,对吧?索引是为了加快你的操作呀,你快速的找到它,定位到他,对吧,那你数据量一大,没有索引就可能你你没索引肯定比有索引的慢嘛,对吧。好,这是两个原因啊,比如说为什么要讲这个,可能你跟别人聊,你跟别人说到啊,我们尽量避免说层层闹,他会问你一句啥呢,为什么呀,你是不是告诉他第一个他会多存一个文件啊,这个字段会多存一个文件,第二个无法被索引呢,效率就差了,对吧,就两句话啊两句话。对。
我来说两句