首批通过分布式安全可靠测评,为关键业务系统打造
查询物化视图
更新时间:2026-01-24 13:03:13
本节主要介绍物化视图的查看方法。
查看物化视图定义
使用 SHOW CREATE TABLE 语句查看物化视图定义。
示例如下:
查看物化视图 mv_tbl1 的定义。
SHOW CREATE TABLE mv_tbl1;
返回结果如下:
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| VIEW | CREATE VIEW | CHARACTER_SET_CLIENT | COLLATION_CONNECTION |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| MV_TBL1 | CREATE MATERIALIZED VIEW "MV_TBL1" ("COL1", "COL2") COMPRESS FOR ARCHIVE REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 REFRESH FORCE ON DEMAND AS select "TEST_USER001"."TBL1"."COL1" AS "COL1","TEST_USER001"."TBL1"."COL2" AS "COL2" from "TEST_USER001"."TBL1" where ("TEST_USER001"."TBL1"."COL3" >= 20) | utf8mb4 | utf8mb4_bin |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
1 row in set
使用视图查看物化视图信息
可以通过系统视图来查看物化视图的相关信息,可查看的视图有:
| 视图名 | 功能描述 |
|---|---|
| ALL_MVIEWS | 展示物化视图信息。 |
| DBA_MVREF_STATS_SYS_DEFAULTS | 物化视图刷新历史统计属性的系统范围默认值。 |
| DBA_MVREF_STATS_PARAMS | 展示与每个物化视图关联的刷新统计信息属性。 |
| DBA_MVREF_RUN_STATS | 展示物化视图的每次刷新运行的信息,每次运行均由 REFRESH_ID 标识。 |
| DBA_MVREF_STATS | 展示物化视图刷新的基本计时统计信息。 |
| DBA_MVREF_CHANGE_STATS | 展示物化视图刷新相关的统计信息。 |
| DBA_MVREF_STMT_STATS | 展示刷新语句关联的信息。 |
| DBA_SCHEDULER_JOBS | 展示数据库中所有调度程序作业的信息。 |
示例如下:
通过 DBA_SCHEDULER_JOBS 视图查看自动刷新物化视图 mv_rc_swn_tbl1 后台刷新的任务情况。
SELECT JOB_NAME,JOB_ACTION,START_DATE,REPEAT_INTERVAL,LAST_START_DATE,NEXT_RUN_DATE
FROM sys.DBA_SCHEDULER_JOBS
WHERE JOB_ACTION like '%MV_RC_SWN_TBL1%';
注意
Oracle 模式中视图 sys.DBA_SCHEDULER_JOBS 中字段 JOB_ACTION 匹配表名时,表名需使用大写字母。
返回结果如下:
+----------------------------------+--------------------------------------------------------------------------+-------------------------------------+----------------------------------+-------------------------------------+-------------------------------------+
| JOB_NAME | JOB_ACTION | START_DATE | REPEAT_INTERVAL | LAST_START_DATE | NEXT_RUN_DATE |
+----------------------------------+--------------------------------------------------------------------------+-------------------------------------+----------------------------------+-------------------------------------+-------------------------------------+
| MVIEW_REFRESH$J_1125899909162864 | DBMS_MVIEW.refresh('TEST_USER001.MV_RC_SWN_TBL1', refresh_parallel => 1) | 18-DEC-24 05.04.48.000000 PM +08:00 | current_date + INTERVAL '1' HOUR | 18-DEC-24 05.04.51.502947 PM +08:00 | 18-DEC-24 06.04.51.000000 PM +08:00 |
+----------------------------------+--------------------------------------------------------------------------+-------------------------------------+----------------------------------+-------------------------------------+-------------------------------------+
1 row in set