この記事では、主にマテリアライズドビューの表示方法について説明します。
マテリアライズドビューの定義を確認する
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` DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 REFRESH FORCE ON DEMAND AS select `db_test`.`tbl1`.`col1` AS `col1`,`db_test`.`tbl1`.`col2` AS `col2` from `db_test`.`tbl1` where (`db_test`.`tbl1`.`col3` >= 20) | utf8mb4 | utf8mb4_general_ci |
+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
1 row in set
ビューを使用したマテリアライズドビュー情報の確認
システムビューを通じてマテリアライズドビューに関する情報を確認できます。確認可能なビューは以下のとおりです:
| ビュー名 | 機能の説明 |
|---|---|
| DBA_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_swn1_tbl1の自動更新タスクの状況を確認します。
SELECT JOB_NAME,JOB_ACTION,START_DATE,REPEAT_INTERVAL,LAST_START_DATE,NEXT_RUN_DATE
FROM oceanbase.DBA_SCHEDULER_JOBS
WHERE JOB_ACTION like "%mv_rc_swn1_tbl1%";
実行結果は次のとおりです:
+----------------------------------+----------------------------------------------------------------------+----------------------------+--------------------------------+----------------------------+----------------------------+
| JOB_NAME | JOB_ACTION | START_DATE | REPEAT_INTERVAL | LAST_START_DATE | NEXT_RUN_DATE |
+----------------------------------+----------------------------------------------------------------------+----------------------------+--------------------------------+----------------------------+----------------------------+
| MVIEW_REFRESH$J_1125899908922625 | DBMS_MVIEW.refresh('db_test.mv_rc_swn1_tbl1', refresh_parallel => 1) | 2024-12-17 17:54:54.000000 | sysdate() + interval 30 minute | 2024-12-18 09:24:57.006246 | 2024-12-18 09:54:57.000000 |
+----------------------------------+----------------------------------------------------------------------+----------------------------+--------------------------------+----------------------------+----------------------------+
1 row in set