首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >YashanDB ALTER MATERIALIZED VIEW语句

YashanDB ALTER MATERIALIZED VIEW语句

作者头像
用户10349277
发布2025-08-14 17:50:52
发布2025-08-14 17:50:52
2930
举报

通用描述

ALTER MATERIALIZED VIEW语句用于更改一个已存在的物化视图的相关属性。

#语句定义

alter materialized view::=

语法图

代码

代码语言:javascript
复制
syntax::= ALTER MATERIALIZED VIEW [schema"."] materialized_view_name (alter_mv_refresh_properties |  alter_query_rewrite_clause ) 

alter_mv_refresh_properties::=

语法图

代码

代码语言:javascript
复制
syntax::= REFRESH ([COMPLETE | FORCE] 
| [ON DEMAND | ON COMMIT] 
| [((START WITH date) | NEXT date)]){" " ([COMPLETE | FORCE] 
| [ON DEMAND | ON COMMIT] 
| [((START WITH date) | NEXT date)])}
| (NEVER REFRESH)

alter_query_rewrite_clause

语法图

代码

代码语言:javascript
复制
syntax::= (ENABLE | DISABLE) QUERY REWRITE

materialized_view_name

该语句用于指定已存在的物化视图的名称。

#alter_mv_refresh_properties

该语句用于更改物化视图刷新相关的属性,包括刷新类型、刷新模式、定时刷新等,多项间使用空格进行分隔。

#complete|force

该语句用于指定物化视图的刷新类型,包括:

  • COMPLETE:全量刷新
  • FORCE:若条件满足,优先使用快速刷新;若快速刷新不可用,则使用全量刷新

刷新类型最多能够指定一项。

#on demand|on commit

该语句用于指定物化视图的刷新模式,包括:

  • ON DEMAND: 手动刷新,即DBMS_MVIEW高级包刷新
  • ON COMMIT: 自动刷新,事务提交时刷新相关联的物化视图

刷新模式最多能够指定一项。

#start with date|next date

该语句用于指定物化视图的定时刷新选项,包括:

  • START WITH date:指定第一次刷新时间
  • NEXT date:指定刷新时间间隔

定时刷新选项可以指定一项或指定两项。

下一次刷新时间计算后必须是未来某个时间。

#never refresh

该语句用于指定不刷新。

指定后保护物化视图不被任何自动刷新、高级包机制刷新,并忽略任何发出的刷新语句、高级包执行。

示例(HEAP表)

代码语言:javascript
复制
ALTER MATERIALIZED VIEW mv_refresh 
REFRESH 
COMPLETE 
ON DEMAND 
NEXT SYSDATE + 1/(24*60);

Copied!

#alter_query_rewrite_clause

该语句用于更改该物化视图的查询重写选项。

可通过查询QUERY_REWRITE_ENABLED参数查看当前物化视图查询重写功能的具体情况。

查询重写功能包含如下限制:

  • 物化视图不允许包含可变的内置函数(如时间相关函数)、UDF和UDP等。
  • 物化视图不允许包含表函数。
  • 物化视图不允许包含伪列。
  • 当物化视图基于的表定义修改,导致物化视图失效,此时该物化视图不可进行查询重写。
    • 选中的基表列字段数据类型更改
    • 选中的基表列字段删除
    • 选中的基表列字段名称更改
#(enable|diasble) query rewrite

具体含义如下:

  • ENABLE QUERY REWRITE: 允许物化视图用于查询重写
  • DISABLE QUERY REWRITE: 不允许物化视图用于查询重写

示例(HEAP表)

代码语言:javascript
复制
ALTER MATERIALIZED VIEW mv_refresh ENABLE QUERY REWRITE;

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 通用描述
  • #语句定义
    • materialized_view_name
    • #alter_mv_refresh_properties
      • #complete|force
      • #on demand|on commit
      • #start with date|next date
      • #never refresh
    • #alter_query_rewrite_clause
      • #(enable|diasble) query rewrite
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档