9.3 9.4 9.5 9.6 10 11 12
阿里云PostgreSQL 问题报告 纠错本页面

REFRESH MATERIALIZED VIEW

名称

REFRESH MATERIALIZED VIEW -- 替换物化视图的内容

大纲

REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
    [ WITH [ NO ] DATA ]

描述

REFRESH MATERIALIZED VIEW完全替换一个物化视图的内容。旧的内容被丢弃。 如果声明了WITH DATA(或缺省),后端查询被执行以提供新的数据, 物化视图留在可扫描的状态。如果声明了WITH NO DATA, 那么不会产生新的数据,并且物化视图留在一个不可扫描的状态。

CONCURRENTLYWITH NO DATA不能一起声明。

参数

CONCURRENTLY

刷新物化视图而不锁定该物化视图上并发的选择。没有这个选项, 一个影响多行的刷新将尝试使用更少的资源并完成的更快, 但是会锁定其他尝试读取该物化视图的连接。 这个选项在影响少量行数的情况下执行的更快。

这个选项仅在只使用字段名且包括所有行的物化视图上至少有一个 UNIQUE索引的时候使用;也就是, 它必须不在任何表达式上索引并且也不包括WHERE子句。

当物化视图还未填充时不能使用这个选项。

尽管使用这个选项,一次在任何一个物化视图上只能运行一个REFRESH

name

要刷新内容的物化视图的名字(可以有模式修饰)。

注意

当保留了未来的CLUSTER操作的缺省索引时,REFRESH MATERIALIZED VIEW 不要求生成的行基于这个属性。如果你希望数据根据生成排序,必须在后端查询中使用一个 ORDER BY子句。

例子

这个命令将刷新物化视图order_summary的内容,使用来自物化视图定义的查询, 并且使它留在可扫描的状态:

REFRESH MATERIALIZED VIEW order_summary;

这个命令将清空物化视图annual_statistics_basis的存储区,并使它留在不可扫描的状态:

REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;

兼容性

REFRESH MATERIALIZED VIEW是一个PostgreSQL扩展。

又见

CREATE MATERIALIZED VIEW, ALTER MATERIALIZED VIEW, DROP MATERIALIZED VIEW
<
/BODY >