开启掘金成长之旅!这是我参与「掘金日新计划 · 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命令删除视图也可以,但不建议使用
你以为结束了
下一篇我们继续挖坑
大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划!