ALTER MATERIALIZED VIEW¶
更改当前/指定架构中的物化视图。支持的操作包括:
重命名物化视图。
暂停和恢复物化视图的使用和维护。
对物化视图进行聚类。
暂停和恢复物化视图的重聚类。
删除物化视图的聚类。
有关更多详细信息,请参阅 使用物化视图。
- 另请参阅:
CREATE MATERIALIZED VIEW、DROP MATERIALIZED VIEW、SHOW MATERIALIZED VIEWS、DESCRIBE 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
}
}
参数¶
name
指定要更改的物化视图的标识符。
RENAME TO new_name
此选项允许为物化视图重命名。
新标识符对于在其中创建视图的架构必须唯一。新标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如
"My object"
)。放在双引号内的标识符也区分大小写。有关更多详细信息,请参阅 标识符要求。可以将对象移动到其他数据库和/或架构,同时选择重命名对象。为此,请指定一个限定
new_name
值,该值分别以db_name.schema_name.object_name
或schema_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;
对物化视图进行聚类:
ALTER MATERIALIZED VIEW my_mv CLUSTER BY(i);
暂停物化视图聚类,但不使用该视图:
ALTER MATERIALIZED VIEW my_mv SUSPEND RECLUSTER;
恢复物化视图聚类:
ALTER MATERIALIZED VIEW my_mv RESUME RECLUSTER;
暂停指定物化视图的所有使用及自动维护:
ALTER MATERIALIZED VIEW my_mv SUSPEND;
恢复指定物化视图的所有使用及自动维护:
ALTER MATERIALIZED VIEW my_mv RESUME;
停止物化视图聚类:
ALTER MATERIALIZED VIEW my_mv DROP CLUSTERING KEY;
将视图修改为安全视图:
ALTER MATERIALIZED VIEW mv1 SET SECURE;
添加或替换物化视图注释:
ALTER MATERIALIZED VIEW mv1 SET COMMENT = 'Sample view';