19

我目前正在使用 Postgres 9.3.3。

如果您refresh是物化视图,该物化视图上的索引是否也重新索引?还是需要手动重新索引索引?

在查看以下问题时,它看起来像但没有答案,我似乎找不到任何支持文档。

4

2 回答 2

15

根据文档:

一旦创建了索引,就不需要进一步干预:系统会在修改表时更新索引...

没有例外。物化视图只是另一个附有如何刷新它的配方的表。所有索引要么从头开始重新创建,要么更新。您永远不需要手动对现有索引执行任何操作。

手册再次:

当在查询中引用物化视图时,数据直接从物化视图返回,就像从表中一样;该规则仅用于填充物化视图。

于 2014-03-21T17:02:23.197 回答
5

索引当然会保持最新。

快速测试似乎表明它们在每次 REFRESH 后也保持其大小,这表明它们是从头开始重新创建的。这是有道理的,因为我认为每次刷新都会重新创建视图,并且基本上将其重命名到位。

于 2014-03-21T15:46:29.273 回答