Nic*_*art 9 postgresql statistics materialized-view
运行后ANALYZE myview;,我们是否应该在 PostgreSQL 9.6+ 物化视图上运行REFRESH MATERIALIZED VIEW CONCURRENTLY myview;?
或者它没有用(也许索引统计信息已经在刷新时更新了?)
Erw*_*ter 11
表统计信息不会自动更新。
如果使用该CONCURRENTLY选项刷新,它们将保持不变。
如果没有CONCURRENTLY,则会为表写入一个新文件,并且系统目录中的基本计数relpages和因此重置为。但是,表统计信息(每列)仍然保持不变。reltuplespg_class0pg_statistic
我在 Postgres 9.6 中运行了一个快速测试来确认。
在某些情况下(查询计划不太依赖于当前统计数据)您可能希望节省时间并且根本不运行ANALYZE。在所有其他情况下,您需要/需要ANALYZE myview;在REFRESH. 或者您等到 autovacuum 启动,只有在更改了足够多的行时才会发生这种情况(CONCURRENTLY实际上在 MV 上运行 DML 命令以仅影响更改的行。)
| 归档时间: |
|
| 查看次数: |
2641 次 |
| 最近记录: |