REFRESH MATERIALIZED VIEW
Заменяет содержимое материализованного представления.
Синтаксис
REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] <name> [ WITH [ NO ] DATA ]
Описание
REFRESH MATERIALIZED VIEW полностью заменяет содержимое материализованного представления. Старое содержимое удаляется. Для выполнения этой команды необходимо быть владельцем материализованного представления. Если указан WITH DATA (или ничего не указано), выполняется запрос материализованного представления для получения новых данных и материализованное представление остается в сканируемом состоянии. Если указан WITH NO DATA, новые данные не генерируются и материализованное представление оказывается в несканируемом состоянии. Если запрос пытается получить доступ к материализованному представлению, возвращается ошибка.
Параметры
| Параметр | Описание |
|---|---|
CONCURRENTLY |
Обновить материализованное представление, не блокируя параллельные выборки из него. Без этой опции обновление, затрагивающее большое количество строк, обычно использует меньше ресурсов и завершится быстрее, но может блокировать другие соединения, читающие данные из материализованного представления. При этом данный режим может быть быстрее при небольшом количестве строк. Данный параметр разрешен только в том случае, если в материализованном представлении есть хотя бы один индекс Этот параметр нельзя использовать, когда материализованное представление еще не заполнено, и нельзя использовать вместе с Даже при использовании этой опции для материализованного представления допускается выполнение только одной команды |
name |
Имя (опционально указанное со схемой) материализованного представления для обновления |
Примечания
Хотя индекс по умолчанию для будущих операций CLUSTER сохраняется, команда REFRESH MATERIALIZED VIEW не упорядочивает сгенерированные строки указанным образом. Если нужно, чтобы данные были упорядочены при генерации, используйте ORDER BY в запросе, определяющем материализованное представление. Однако, если запрос материализованного представления содержит ORDER BY, нет гарантии, что данные будут упорядочены, если к материализованному представлению будет выполнен запрос SELECT.
Примеры
Эта команда заменяет содержимое материализованного представления order_summary, используя запрос из определения материализованного представления, и оставляет его в сканируемом состоянии:
REFRESH MATERIALIZED VIEW order_summary;
Эта команда освобождает пространство, связанное с материализованным представлением annual_statistics_basis, и оставляет это представление в несканируемом состоянии:
REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;
Совместимость
REFRESH MATERIALIZED VIEW является расширением Greengage DB стандарта SQL.