Clickhouse从入门到入坑(7)

98 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 7 天,点击查看活动详情

生命不息,学习不止

题外话

周二了,今天是阳光明媚的一天,昨天半夜猫猫挠猫抓板把我吵醒了,于是我就和猫猫打了一架,大败,没抓到还全是猫毛,看来家里需要多一位小公公了

废话不多说,上货

在这里插入图片描述

SQL语句

继续探索clickhouse的sql相关语句

1.VIEW(视图)

视图在数据库储存系统中较为常见,例如mysql等都支持视图,但物化视图可以算是clickhouse的一个特色了

1.普通视图不储存数据,更像是一条写在储存系统中的一条sql查询语言,对视图的查询就像是链接了这条sql查询语句作为子查询

//创建视图
create view view_name as select cloumes_names from table_name ...
//查询语句
select * form view
//相当于
select * form (select cloumes_names from table_name ...)

2.物化视图

物化视图区别于普通视图就在于物化过程,物化视图储存了查询的相关数据

但物化视图同步时同步的原始数据,也就是说物化视图只存储了管理表的insert数据,对关联表更新数据,删除分区,删除数据等操作并不同步更新

//创建物化视图
create materialized view view_name engine = MergeTree as select ....
//创建物化视图
create materialized view view_name to table_name as select ....

可以看到物化视图的创建有两种方式,前者更接近于表格的创建,此时创建视图如果想直接将关联表的数据导入视图中,可以使用populate 关键字设定视图的更新策略

//创建物化视图。添加populate会将关联表数据导入物化视图中
create materialized view view_name engine = MergeTree populate as select ....

后者则是将视图查询的结果输入到指定的表中,注意,使用to导出数据时无法和populate关键字一起使用

尽量使用detach关键字些在视图,drop命令删除视图也可以,但不建议使用

你以为结束了

下一篇我们继续挖坑

在这里插入图片描述

大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划! 在这里插入图片描述