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) материализованного представления.

имя

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


Примечания

Если в запросе, определяющем материализованное представление, присутствует предложение ORDER BY, исходное содержимое этого материализованного представления будет упорядочено заданным образом, но команда REFRESH MATERIALIZED VIEW не гарантирует сохранение этого порядка.


Примеры

Эта команда заменит содержимое материализованного представления 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