メインコンテンツまでスキップ
バージョン: Latest-4.1

SHOW MATERIALIZED VIEWS

説明

すべてまたは特定の非同期マテリアライズドビューを表示します。

バージョン 3.0 以降、このステートメントの名前は SHOW MATERIALIZED VIEW から SHOW MATERIALIZED VIEWS に変更されました。

ヒント

この操作には特権は必要ありません。

構文

SHOW MATERIALIZED VIEWS
[FROM db_name]
[
WHERE NAME { = "mv_name" | LIKE "mv_name_matcher"}
]
注記

バージョン 3.3 以降、SHOW MATERIALIZED VIEWS コマンドは、リフレッシュタスクが複数のパーティション/タスクランで構成されている場合、すべてのタスクランの状態を追跡します。すべてのタスクランが成功した場合にのみ、last_refresh_stateSUCCESS を返します。

パラメータ

パラメータ必須説明
db_nameいいえマテリアライズドビューが存在するデータベースの名前。このパラメータが指定されていない場合、デフォルトで現在のデータベースが使用されます。
mv_nameいいえ表示するマテリアライズドビューの名前。
mv_name_matcherいいえマテリアライズドビューをフィルタリングするために使用されるマッチャー。

戻り値

戻り値説明
idマテリアライズドビューのID。
database_nameマテリアライズドビューが存在するデータベースの名前。
nameマテリアライズドビューの名前。
refresh_typeマテリアライズドビューのリフレッシュタイプ。有効な値: SYNC (同期マテリアライズドビュー) および ASYNC (非同期マテリアライズドビュー。リフレッシュのトリガー方法に関係なく)。
is_activeマテリアライズドビューの状態がアクティブかどうか。 有効な値: truefalse
partition_typeマテリアライズドビューのパーティションタイプ。RANGE と UNPARTITIONED があります。
task_idマテリアライズドビューのリフレッシュタスクのID。
task_nameマテリアライズドビューのリフレッシュタスクの名前。
last_refresh_start_timeマテリアライズドビューの最後のリフレッシュの開始時間。
last_refresh_finished_timeマテリアライズドビューの最後のリフレッシュの終了時間。
last_refresh_duration最後のリフレッシュにかかった時間。単位: 秒。
last_refresh_state最後のリフレッシュのステータス。PENDING、RUNNING、FAILED、SUCCESS、SKIPPED があります。ベーステーブルのパーティションでデータの変更が検出されない場合、対応するマテリアライズドビューのパーティションに対するリフレッシュ処理はスキップされます。
last_refresh_force_refresh最後のリフレッシュがFORCEリフレッシュかどうか。
last_refresh_start_partitionマテリアライズドビューの最後のリフレッシュの開始パーティション。
last_refresh_end_partitionマテリアライズドビューの最後のリフレッシュの終了パーティション。
last_refresh_base_refresh_partitions最後のリフレッシュで更新されたベーステーブルのパーティション。
last_refresh_mv_refresh_partitions最後のリフレッシュで更新されたマテリアライズドビューパーティション。
last_refresh_error_codeマテリアライズドビューの最後の失敗したリフレッシュのエラーコード(マテリアライズドビューの状態がアクティブでない場合)。
last_refresh_error_messageマテリアライズドビューの最後のリフレッシュが失敗した理由(マテリアライズドビューの状態がアクティブでない場合)。
rowsマテリアライズドビューのデータ行数。
textマテリアライズドビューを作成するために使用されたステートメント。
extra_message最新のリフレッシュタスクに関する追加情報。
query_rewrite_statusマテリアライズドビューのクエリリライトステータス。
creatorマテリアライズドビューのリフレッシュタスクの作成者。
last_refresh_process_time最新のリフレッシュタスクの処理開始時間。
last_refresh_job_id最新のリフレッシュタスクのジョブ ID。
last_refresh_timeベーステーブルの更新がマテリアライズドビューに反映されている最新の時間。
warehouse非同期マテリアライズドビューがリフレッシュタスクに使用するウェアハウスの名前。ストレージ・コンピュート一体型モードの場合、または同期 (rollup) マテリアライズドビューの場合は空です。
refresh_mode非同期マテリアライズドビューに設定されたリフレッシュモード。有効な値: PCT (パーティション変更追跡。変更されたパーティションのみをリフレッシュ)、INCREMENTAL (インクリメンタルビューメンテナンス)、AUTO。同期マテリアライズドビューの場合は空です。
refresh_triggerリフレッシュがトリガーされる方法。有効な値: NONE (同期マテリアライズドビュー)、MANUAL (REFRESH MATERIALIZED VIEW 経由のみ)、SCHEDULED (EVERY 間隔による定期実行)、ON_BASE_TABLE_CHANGE (ベーステーブルのロードまたは変更時に自動実行)。
refresh_policy人間が読めるリフレッシュポリシー。有効な値: NONEMANUALON_BASE_TABLE_CHANGE、または START("yyyy-MM-dd HH:mm:ss") EVERY(INTERVAL n unit) のようなスケジュール (START 句は開始時刻が定義されている場合にのみ含まれます)。
resource_groupマテリアライズドビューのリフレッシュタスクに使用されるリソースグループ (マテリアライズドビューの resource_group プロパティから)。設定されていない場合は default_mv_wg がデフォルトです。
query_rewrite_status_reasonquery_rewrite_status の理由。有効な値: OKMV_INACTIVEQUERY_REWRITE_DISABLEDUNSUPPORTED_DEFINITIONUNKNOWN
base_table_refresh_version_times各ベーステーブルのデータバージョン時刻を、ベーステーブルの catalog.database.table 名から観測された最新のデータバージョン時刻へのマッピングとして JSON オブジェクトで示します。これは last_refresh_time(それらの単一の最大値)の背後にあるテーブルごとの内訳です。外部/データレイクのベーステーブルはパーティションのソース更新時刻を、OLAP(内部)ベーステーブルは可視バージョンのコミット時刻を報告します。記録された時刻を持つベーステーブルがない場合は {} です。

以下の例は、このビジネスシナリオに基づいています:

-- テーブルを作成: customer
CREATE TABLE customer ( C_CUSTKEY INTEGER NOT NULL,
C_NAME VARCHAR(25) NOT NULL,
C_ADDRESS VARCHAR(40) NOT NULL,
C_NATIONKEY INTEGER NOT NULL,
C_PHONE CHAR(15) NOT NULL,
C_ACCTBAL double NOT NULL,
C_MKTSEGMENT CHAR(10) NOT NULL,
C_COMMENT VARCHAR(117) NOT NULL,
PAD char(1) NOT NULL)
ENGINE=OLAP
DUPLICATE KEY(`c_custkey`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`c_custkey`)
PROPERTIES (
"replication_num" = "3",
"storage_format" = "DEFAULT"
);

-- マテリアライズドビューを作成: customer_mv
CREATE MATERIALIZED VIEW customer_mv
DISTRIBUTED BY HASH(c_custkey)
REFRESH MANUAL
PROPERTIES (
"replication_num" = "3"
)
AS SELECT
c_custkey, c_phone, c_acctbal, count(1) as c_count, sum(c_acctbal) as c_sum
FROM
customer
GROUP BY c_custkey, c_phone, c_acctbal;

-- マテリアライズドビューをリフレッシュ
REFRESH MATERIALIZED VIEW customer_mv;

例 1: 特定のマテリアライズドビューを表示します。

mysql> SHOW MATERIALIZED VIEWS WHERE NAME='customer_mv'\G
*************************** 1. row ***************************
id: 10142
name: customer_mv
database_name: test
refresh_type: ASYNC
is_active: true
last_refresh_start_time: 2023-02-17 10:27:33
last_refresh_finished_time: 2023-02-17 10:27:33
last_refresh_duration: 0
last_refresh_state: SUCCESS
inactive_code: 0
inactive_reason:
text: CREATE MATERIALIZED VIEW `customer_mv`
COMMENT "MATERIALIZED_VIEW"
DISTRIBUTED BY HASH(`c_custkey`)
REFRESH MANUAL
PROPERTIES (
"replication_num" = "3",
"storage_medium" = "HDD"
)
AS SELECT `customer`.`c_custkey`, `customer`.`c_phone`, `customer`.`c_acctbal`, count(1) AS `c_count`, sum(`customer`.`c_acctbal`) AS `c_sum`
FROM `test`.`customer`
GROUP BY `customer`.`c_custkey`, `customer`.`c_phone`, `customer`.`c_acctbal`;
rows: 0
warehouse:
refresh_mode: PCT
refresh_trigger: MANUAL
refresh_policy: MANUAL
resource_group: default_mv_wg
1 row in set (0.11 sec)

例 2: 名前をマッチングしてマテリアライズドビューを表示します。

mysql> SHOW MATERIALIZED VIEWS WHERE NAME LIKE 'customer_mv'\G
*************************** 1. row ***************************
id: 10142
name: customer_mv
database_name: test
refresh_type: ASYNC
is_active: true
last_refresh_start_time: 2023-02-17 10:27:33
last_refresh_finished_time: 2023-02-17 10:27:33
last_refresh_duration: 0
last_refresh_state: SUCCESS
inactive_code: 0
inactive_reason:
text: CREATE MATERIALIZED VIEW `customer_mv`
COMMENT "MATERIALIZED_VIEW"
DISTRIBUTED BY HASH(`c_custkey`)
REFRESH MANUAL
PROPERTIES (
"replication_num" = "3",
"storage_medium" = "HDD"
)
AS SELECT `customer`.`c_custkey`, `customer`.`c_phone`, `customer`.`c_acctbal`, count(1) AS `c_count`, sum(`customer`.`c_acctbal`) AS `c_sum`
FROM `test`.`customer`
GROUP BY `customer`.`c_custkey`, `customer`.`c_phone`, `customer`.`c_acctbal`;
rows: 0
warehouse:
refresh_mode: PCT
refresh_trigger: MANUAL
refresh_policy: MANUAL
resource_group: default_mv_wg
1 row in set (0.12 sec)
Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.