ALTER MATERIALIZED VIEW
ALTER MATERIALIZED VIEW может:
-
Изменить имя асинхронного материализованного представления.
-
Изменить стратегию обновления асинхронного материализованного представления.
-
Изменить статус асинхронного материализованного представления на активный или неактивный.
-
Выполнить атомарный обмен между двумя асинхронными материализованными представлениями.
-
Изменить свойства асинхронного материализованного представления.
Вы можете использовать этот SQL-оператор для изменения следующих свойств:
partition_ttl_numberpartition_refresh_numberresource_groupauto_refresh_partitions_limitexcluded_trigger_tablesmv_rewrite_staleness_secondunique_constraintsforeign_key_constraintscolocate_withexcluded_refresh_tables- Все свойства, связанные с переменными сессии. Для получения информации о переменных сессии см. Системные переменные.
- Эта операция требует привилегию ALTER для целевого материализованного представления. Вы можете следовать инструкциям в GRANT для предоставления этой привилегии.
- ALTER MATERIALIZED VIEW не поддерживает прямое изменение запроса, используемого для построения материализованного представления. Вы можете создать новое материализованное представление и обменять его с исходным, используя ALTER MATERIALIZED VIEW SWAP WITH.
Синтаксис
ALTER MATERIALIZED VIEW [db_name.]<mv_name>
{ RENAME [db_name.]<new_mv_name>
| REFRESH <new_refresh_scheme_desc>
| ACTIVE | INACTIVE
| SWAP WITH [db_name.]<mv2_name>
| SET ( "<key>" = "<value>"[,...]) }
Параметры
| Параметр | Обязательный | Описание |
|---|---|---|
| mv_name | да | Имя материализованного представления для изменения. |
| new_refresh_scheme_desc | нет | Новая стратегия обновления, см. SQL Reference - CREATE MATERIALIZED VIEW - Parameters для подробностей. |
| new_mv_name | нет | Новое имя для материализованного представления. |
| ACTIVE | нет | Установить статус материализованного представления как активный. Selena автоматически устанавливает материализованное представление как неактивное, если любая из его базовых таблиц изменена, например, удалена и пересоздана, чтобы предотвратить ситуацию, когда исходные метаданные не соответствуют измененной базовой таблице. Неактивные материализованные представления не могут использоваться для ускорения запросов или перезаписи запросов. Вы можете использовать этот SQL для активации материализованного представления после изменения базовых таблиц. |
| INACTIVE | нет | Установить статус материализованного представления как неактивный. Неактивное асинхронное материализованное представление не может быть обновлено. Но вы все еще можете запрашивать его как таблицу. |
| SWAP WITH | нет | Выполнить атомарный обмен с другим асинхронным материализованным представлением после необходимых проверок согласованност и. |
| key | нет | Имя свойства для изменения, см. SQL Reference - CREATE MATERIALIZED VIEW - Parameters для подробностей. ПРИМЕЧАНИЕ Если вы хотите изменить свойство материализованного представления, связанное с переменной сессии, вы должны добавить префикс session. к свойству, например, session.query_timeout. Вам не нужно указывать префикс для свойств, не связанных с сессией, например, mv_rewrite_staleness_second. |
| value | нет | Значение свойства для изменения. |
Пример
Пример 1: Изменить имя материализованного представления.
ALTER MATERIALIZED VIEW lo_mv1 RENAME lo_mv1_new_name;
Пример 2: Изменить интервал обновления материализованного представления.
ALTER MATERIALIZED VIEW lo_mv2 REFRESH ASYNC EVERY(INTERVAL 1 DAY);
Пример 3: Изменить продолжительность тайм-аута для задач обновления материализованного представления на 1 час (по умолчанию).
ALTER MATERIALIZED VIEW mv1 SET ("session.query_timeout" = "3600");
Пример 4: Изменить статус материализованного представления на активный.
ALTER MATERIALIZED VIEW order_mv ACTIVE;
Пример 5: Выполнить атомарный обмен между материализованными представлениями order_mv и order_mv1.
ALTER MATERIALIZED VIEW order_mv SWAP WITH order_mv1;
Пример 6: Включить профиль для процесса обновления материализованного представления. Эта функция включена по умолчанию.
ALTER MATERIALIZED VIEW mv1 SET ("session.enable_profile" = "true");
Пример 7: Включить сброс промежуточ ных результатов для процесса обновления материализованного представления и установить режим сброса в force. Сброс промежуточных результатов включен по умолчанию с версии v1.5.2.
-- Включить сброс во время обновления материализованного представления.
ALTER MATERIALIZED VIEW mv1 SET ("session.enable_spill" = "true");
-- Установить spill_mode в force (значение по умолчанию - auto).
ALTER MATERIALIZED VIEW mv1 SET ("session.spill_mode" = "force");
Пример 8: Изменить продолжительность тайм-аута оптимизатора для материализованного представления на 30 секунд (по умолчанию с версии v1.5.2), если его оператор запроса содержит внешние таблицы или множественные соединения.
ALTER MATERIALIZED VIEW mv1 SET ("session.new_planner_optimize_timeout" = "30000");
Пример 9: Изменить время устаревания перезаписи запроса для материализованного представления на 600 секунд.
ALTER MATERIALIZED VIEW mv1 SET ("mv_rewrite_staleness_second" = "600");