ALTER MATERIALIZED VIEW

更改当前/指定架构中的物化视图。支持的操作包括:

  • 重命名物化视图。

  • 暂停和恢复物化视图的使用和维护。

  • 对物化视图进行聚类。

  • 暂停和恢复物化视图的重聚类。

  • 删除物化视图的聚类。

有关更多详细信息,请参阅 使用物化视图

另请参阅:

CREATE MATERIALIZED VIEWDROP MATERIALIZED VIEWSHOW MATERIALIZED VIEWSDESCRIBE MATERIALIZED VIEW

语法

ALTER MATERIALIZED VIEW <name>
  {
  RENAME TO <new_name>                     |
  CLUSTER BY ( <expr1> [, <expr2> ... ] )  |
  DROP CLUSTERING KEY                      |
  SUSPEND RECLUSTER                        |
  RESUME RECLUSTER                         |
  SUSPEND                                  |
  RESUME                                   |
  SET {
    [ SECURE ]
    [ COMMENT = '<comment>' ]
    }                                      |
  UNSET {
    SECURE                                 |
    COMMENT
    }
  }
Copy

参数

name

指定要更改的物化视图的标识符。

RENAME TO new_name

此选项允许为物化视图重命名。

新标识符对于在其中创建视图的架构必须唯一。新标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如 "My object")。放在双引号内的标识符也区分大小写。有关更多详细信息,请参阅 标识符要求

可以将对象移动到其他数据库和/或架构,同时选择重命名对象。为此,请指定一个限定 new_name 值,该值分别以 db_name.schema_name.object_nameschema_name.object_name 的形式包含新数据库和/或架构名称。

备注

  • 目标数据库和/或架构必须已存在。此外,新位置中不能存在同名对象;否则,该语句将返回错误。

  • 除非 对象所有者(即对对象拥有 OWNERSHIP 权限的角色)也拥有目标架构,否则禁止将对象移动到托管访问架构。

请注意,重命名物化视图不会更新对视图的引用。例如,如果在物化视图之上创建一个名为 V1 的视图,后续对雾化视图进行了重命名,则视图 V1 的定义将会过时。

CLUSTER BY expr#

此命令对物化视图进行聚类。聚类会对物化视图中的行进行重新排序,以提高基于群集密钥表达式执行筛选的查询的性能。

expr# 指定要在其上聚类物化视图的表达式。通常,每个表达式都是物化视图中列的名称。

有关群集物化视图的更多信息,请参阅:物化视图和群集。有关群集整体情况的更多信息,请参阅 什么是数据聚类?

DROP CLUSTERING KEY

此命令会删除物化视图的聚类。

SUSPEND RECLUSTER

SUSPEND RECLUSTER 选项将暂停物化视图的重聚类。有关聚类物化视图的更多信息,请参阅 物化视图和群集

RESUME RECLUSTER

RESUME RECLUSTER 选项将恢复物化视图的重聚类。

SUSPEND

SUSPEND 选项将暂停物化视图的维护(更新)和使用。在视图暂停时,对基表的更新不会传播到物化视图。物化视图本身也不可访问;如果尝试使用,则会收到如下错误消息:

Failure during expansion of view 'MV1':
  SQL compilation error: Materialized View MV1 is invalid.
  Invalidation reason: Marked Materialized View as invalid manually.

如果暂停已聚类的物化视图,则暂停该视图会隐式暂停该视图的重聚类。

RESUME

RESUME 选项允许恢复物化视图的使用。它还会恢复对物化视图的维护。如果视图已聚类,则还会隐式恢复该视图的重聚类。

SET ...

指定要为物化视图设置的属性:

SECURE

此选项会将视图转换为安全视图。有关安全视图的详细信息,请参阅 使用安全视图

COMMENT = 'string_literal'

此选项为物化视图设置注释。注释对视图的行为无影响,但可为使用或维护视图的用户提供有用的信息。

UNSET ...

指定要为物化视图取消设置的属性:

  • SECURE

  • TAG tag_name [ , tag_name ... ]

  • COMMENT

使用说明

  • 使用 ALTER VIEW 命令为物化视图设置/取消设置掩码策略、行访问策略,或者标记。

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

重命名物化视图:

ALTER MATERIALIZED VIEW table1_MV RENAME TO my_mv;
Copy

对物化视图进行聚类:

ALTER MATERIALIZED VIEW my_mv CLUSTER BY(i);
Copy

暂停物化视图聚类,但不使用该视图:

ALTER MATERIALIZED VIEW my_mv SUSPEND RECLUSTER;
Copy

恢复物化视图聚类:

ALTER MATERIALIZED VIEW my_mv RESUME RECLUSTER;
Copy

暂停指定物化视图的所有使用及自动维护:

ALTER MATERIALIZED VIEW my_mv SUSPEND;
Copy

恢复指定物化视图的所有使用及自动维护:

ALTER MATERIALIZED VIEW my_mv RESUME;
Copy

停止物化视图聚类:

ALTER MATERIALIZED VIEW my_mv DROP CLUSTERING KEY;
Copy

将视图修改为安全视图:

ALTER MATERIALIZED VIEW mv1 SET SECURE;
Copy

添加或替换物化视图注释:

ALTER MATERIALIZED VIEW mv1 SET COMMENT = 'Sample view';
Copy
语言: 中文