| 结构 | CREATE MATERIALIZED VIEW mv TO target AS SELECT … FROM source |
|---|---|
| 触发时机 | 只处理插入源表的新数据块;历史数据迁移用 POPULATE 或手动 INSERT SELECT |
| 不含 TO 的形式 | 视图自身存储结果,结构改动与查询效率不如显式目标表灵活 |
示例
示例
CREATE TABLE events_by_minute
(
minute DateTime,
event_type LowCardinality(String),
cnt UInt64
)
ENGINE = SummingMergeTree
ORDER BY (minute, event_type);
CREATE MATERIALIZED VIEW mv_events_minute TO events_by_minute AS
SELECT toStartOfMinute(event_time) AS minute,
event_type,
count() AS cnt
FROM events
GROUP BY minute, event_type;视图定义里的聚合按块计算,跨块结果依靠目标表的引擎(如 SummingMergeTree)合并收敛。