删除物化视图(DROP MATERIALIZED VIEW)
功能
DROP MATERIALIZED VIEW
DROP MATERIALIZED VIEW
命令用于删除已存在的物化视图(Materialized View),以释放相关资源。
💡 数据可恢复:物化视图被删除后,在数据保留周期内(默认 1 天,最长可配置为 90 天),可通过
UNDROP TABLE
UNDROP TABLE
命令恢复。注意恢复语法统一使用
UNDROP TABLE
UNDROP TABLE
,而非
UNDROP MATERIALIZED VIEW
UNDROP MATERIALIZED VIEW
。
语法
DROP MATERIALIZED VIEW [ IF EXISTS ] [schema_name.]<mv_name>
参数说明
| 参数 | 说明 |
|---|
IF EXISTS
IF EXISTS | 可选。如果物化视图不存在,则不抛出错误 |
schema_name
schema_name | 可选。指定 schema 的名称 |
mv_name
mv_name | 要删除的物化视图名称 |
示例
示例 1:删除物化视图
DROP MATERIALIZED VIEW my_mv;
示例 2:安全删除(物化视图不存在时不报错)
DROP MATERIALIZED VIEW IF EXISTS my_mv;
示例 3:删除指定 schema 下的物化视图
DROP MATERIALIZED VIEW analytics.order_stats_mv;
示例 4:删除后恢复
-- 删除物化视图
DROP MATERIALIZED VIEW analytics.order_stats_mv;
-- 恢复物化视图(注意:使用 UNDROP TABLE,不是 UNDROP MATERIALIZED VIEW)
UNDROP TABLE analytics.order_stats_mv;
-- 验证恢复结果
SELECT * FROM analytics.order_stats_mv;
注意事项
-
对象类型匹配:删除物化视图必须使用
DROP MATERIALIZED VIEW
DROP MATERIALIZED VIEW
,使用 DROP TABLE
DROP TABLE
会报错:
The operation 'DROP TABLE' requires a 'TABLE'.
But 'xxx' is a MATERIALIZED VIEW, please use 'DROP MATERIALIZED VIEW' instead.
-
不支持批量删除:不支持
DROP MATERIALIZED VIEW mv1, mv2, mv3
DROP MATERIALIZED VIEW mv1, mv2, mv3
语法,需逐个删除。
-
数据可恢复:在
data_retention_days
data_retention_days
保留周期内,可通过 UNDROP TABLE
UNDROP TABLE
恢复被删除的物化视图。
-
依赖检查:删除前请确认物化视图不再被其他查询或对象引用。
相关文档