假设我有2个表A
和B
.我MV
用join
两个表的查询创建一个(物化视图),psuedo像:
create materialized view a_b engine = Memory as
select * from(
select * from A
) all inner join (
select * from B
) using some_col;
Run Code Online (Sandbox Code Playgroud)
我知道,a_b
在插入数据时只更新到表中A
,并没有别的发生当推数据B
.我希望我的MV必须在两个表都更新时更新.
我的解决方法是创建另一个MV
改变postition A
,B
并指向a_b
like
create materialized view a_b_2 to a_b as
select * from(
select * from B
) all inner join (
select * from A
) using …
Run Code Online (Sandbox Code Playgroud) 我有多个具有不同模式的输入源。为了使用 Clickhouse 进行一些分析,我想到了两种处理分析工作负载的方法,使用join
或aggregation
操作:
使用联接涉及定义与每个输入相对应的表。
使用聚合函数需要一个带有预定义列集的表,列数和列类型将基于我的近似值,并且将来可能会发生变化。
我的问题是:如果我采用第二种方法,定义很多列,比如说数百列。它如何影响性能、存储成本等?