ALTER ASYNC MATERIALIZED VIEW
Описание
Эта инструкция используется для изменения асинхронных материализованных представлений.
Синтаксис
ALTER MATERIALIZED VIEW mvName=multipartIdentifier ((RENAME newName=identifier)
| (REFRESH (refreshMethod | refreshTrigger | refreshMethod refreshTrigger))
| REPLACE WITH MATERIALIZED VIEW newName=identifier propertyClause?
| (SET LEFT_PAREN fileProperties=propertyItemList RIGHT_PAREN))
Пояснения
RENAME
Используется для изменения имени материализованного представления.
Например, переименование mv1 в mv2:
ALTER MATERIALIZED VIEW mv1 rename mv2;
refreshMethod
Аналогично созданию асинхронных материализованных представлений.
Обычное асинхронное материализованное представление нельзя перевести в режим INCREMENTAL с помощью ALTER MATERIALIZED VIEW; также нельзя изменить метод обновления IVM по умолчанию на другой. Для перехода необходимо заново создать материализованное представление.
refreshTrigger
Аналогично созданию асинхронных материализованных представлений.
SET
Изменение свойств, специфичных для материализованных представлений.
Например, изменение grace_period для mv1 на 3000 мс:
ALTER MATERIALIZED VIEW mv1 set("grace_period"="3000");
Среди свойств IVM свойство ivm_use_full_keys можно задать только при создании, после чего его нельзя изменить. Свойство ivm_partition_window_limit можно изменять; расширение окна или снятие ограничения делает базовое состояние материализованного представления недействительным, и при следующем обновлении всё материализованное представление перестраивается. См. Инкрементальное обслуживание представлений (IVM).
REPLACE
ALTER MATERIALIZED VIEW [db.]mv1 REPLACE WITH MATERIALIZED VIEW mv2
[PROPERTIES('swap' = 'true')];
Атомарная замена с использованием двух материализованных представлений.
Значение swap по умолчанию: TRUE.
- Если параметр swap установлен в TRUE, операция эквивалентна переименованию материализованного представления mv1 в mv2 и одновременному переименованию mv2 в mv1.
- Если параметр swap установлен в FALSE, операция эквивалентна переименованию mv2 в mv1 и удалению исходного mv1.
Например, чтобы поменять местами имена mv1 и mv2:
ALTER MATERIALIZED VIEW db1.mv1 REPLACE WITH MATERIALIZED VIEW mv2;
Например, чтобы переименовать mv2 в mv1 и удалить исходное mv1:
ALTER MATERIALIZED VIEW db1.mv1 REPLACE WITH MATERIALIZED VIEW mv2
PROPERTIES('swap' = 'false');
Ключевые слова
ALTER, ASYNC, MATERIALIZED, VIEW