中间件速查手册
数据仓库与 OLAPMaterialized View

物化视图 是什么?

预计算好的聚合结果,查询自动改写命中

类比:提前算好的汇总表,不用每次重新加一遍

解决什么问题

报表里的指标往往是对明细的固定聚合(按天、按渠道求和)。每次都扫全量明细太浪费,物化视图把结果预先算好存起来,查询时直接读小表。

Doris 的异步物化视图支持透明改写:用户还是查原表,优化器自动改成查视图。

代价

物化视图要额外存储,还要在基表变更时刷新(定时或实时)。视图建太多会拖慢写入,也会让优化器选择困难。只给“高频 + 重聚合”的查询建视图。

和缓存、宽表的区别

缓存(Redis)是结果级缓存,命中率看查询是否完全一致;宽表是提前 join 好的明细;物化视图是提前聚合的汇总。三者解决不同层次的问题,实际项目经常一起用。

它出现在这些中间件里

相关概念