今天来简单介绍一下clickhouse的物化视图
物化视图支持表引擎,数据保存形式由它的表引擎决定,创建物化视图的完整语法如下:
create materialized view mv_log engine=Log populate as select * from log;
物化视图创建好之后,如果源表被写入新数据,那么物化视图也会同步更新。populate 决定了物化视图的初始化策略:如果使用了populate 修饰符,
那么在创建视图的过程中,会连带将源表中已存在的数据一并导入,如同执行了 insert select 一般;反之,如果不使用 populate 修饰符,那么物化视图在创建之后是没有数据的,
它只会同步在此之后被写入源表的数据。
物化视图目前并不支持同步删除,如果在源表中删除了数据,物化视图的数据仍会保留。
create materialized view test3_view engine = Log populate as select * from tb_test3;
-- 建表的时候同步数据,当数据被更新以后,物化视图中的数据会同步更新,但是当删除数据以后,物化视图中的数据不会被删除。