Clickhouse 物化视图(带或不带表格)

问题描述 投票:0回答:1

我开始使用 clickhouse,我注意到有两种“类型”的使用物化视图的方法。

第一个是首先使用MergeTree引擎创建一个表并将mv“添加”到表中:

CREATE MATERIALIZED VIEW my_view TO my_target_table AS
SELECT toStartOfDay(_timestamp)::Date AS Day, ...
FROM my_source_table

但我也可以只使用没有 target_table 的视图:

CREATE MATERIALIZED VIEW my_view AS
SELECT toStartOfDay(_timestamp)::Date AS Day, ...
FROM my_source_table

Fox 上下文我的源表当前只是一个监听 RabbitMQ 队列的表。因此,在更复杂的情况下,两种方法之间可能有更重要的考虑因素,但我没有看到我的情况有任何差异,我想知道我是否遗漏了一些东西。

clickhouse materialized-views
1个回答
0
投票

一般我们更喜欢前者,它更明确,并且将目标表与视图解耦。这具有管理优势,例如您可以删除MV而不删除目标表。此外,查询解耦的目标表可确保使用所有优化 - 历史上(需要测试情况是否仍然如此)后一种隐式方法不会使用某些优化。

一般要显式,先创建目标表。

© www.soinside.com 2019 - 2024. All rights reserved.