REFRESH MATERIALIZED VIEW

REFRESH MATERIALIZED VIEW — заменить содержимое материализованного представления

Синтаксис

REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] имя
    [ WITH [ NO ] DATA ]

Описание

Команда REFRESH MATERIALIZED VIEW полностью заменяет содержимое материализованного представления. Для выполнения этой команды нужно быть владельцем соответствующего материализованного представления. Старое содержимое удаляется. Если указывается WITH DATA (или по умолчанию), то для предоставления новых данных выполняется нижележащий запрос, а материализованное представление остается в состоянии сканирования. Если указывается WITH NO DATA, то новые данные не выдаются, а материализованное представление остается в несканируемом состоянии.

Параметр WITH NO DATA нельзя задавать вместе с параметром CONCURRENTLY.

Параметры

CONCURRENTLY

Обновить материализованное представление, не блокируя параллельные выборки из него. Без этого параметра обновление, влияющее на значительное количество строк, в большинстве случаев будет использовать меньше ресурсов и завершаться быстрее, но может блокировать другие соединения, которые пытаются читать из материализованного представления. Этот режим может быть быстрее, если затрагивается небольшое количество строк.

Данный параметр разрешен только в том случае, если в материализованном представлении имеется хотя бы один индекс UNIQUE, который использует только имена столбцов и включает все строки, то есть он не должен быть индексом выражения или включать предложение WHERE.

Этот параметр нельзя использовать, если материализованное представление еще не заполнено.

Даже с этим параметром в один момент времени допускается только одно обновление (REFRESH) материализованного представления.

имя

Имя материализованного представления, подлежащего обновлению (может быть дополнено схемой).

Примечания

Хотя индекс по умолчанию для будущих операций 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 является расширением QHB.

См. также

CREATE MATERIALIZED VIEW, ALTER MATERIALIZED VIEW, DROP MATERIALIZED VIEW