postgres 物化视图和索引以提高总体性能

Sha*_*baz 4 postgresql performance index materialized-view

我有一个大表,其中包含许多用于预计算聚合的物化视图。新数据每天仅插入一次,因此可以将其视为数据仓库类型系统。

显然,当我查询我的主(非聚合)表时,规划器会使用它认为合适的任何索引。这是否扩展到物化视图?如果我查询主表并且查询涉及聚合,它是否识别出我的物化视图已经具有它需要的值?

RLF*_*RLF 5

否。查询处理器如何识别它应该使用物化视图。物化视图是另一个对象。

请参阅 http://www.postgresql.org/docs/9.4/static/rules-materializedviews.html

部分解释说:“当在查询中引用实体化视图时,数据直接从实体化视图返回。”

因此物化视图很有用,但您不仅需要对其进行编程以维护它们,还需要进行必要的编码以使用物化视图。

  • Oracle 实际上就是这样做的。当优化器看到与 MVIEW 查询匹配的查询时,如果它更便宜,它将使用 mview 代替(称为“查询重写”) (4认同)