SHOW MATERIALIZED VIEWS¶
アクセスする権限があるマテリアライズドビューをリストします。
マテリアライズドビューの詳細については、 マテリアライズドビューの使用 をご参照ください。
- こちらもご参照ください。
CREATE MATERIALIZED VIEW、 ALTER MATERIALIZED VIEW、 DROP MATERIALIZED VIEW、 DESCRIBE MATERIALIZED VIEW
構文¶
SHOW MATERIALIZED VIEWS [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
APPLICATION <application_name> |
APPLICATION PACKAGE <application_package_name> |
}
]
パラメーター¶
LIKE 'pattern'
オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(
%
および_
)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。たとえば、次のパターンは 同じ 結果を返します。
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. デフォルト: 値なし(フィルタリングは出力に非適用)。
[ IN ... ]
オプションで、コマンドのスコープを指定します。次のいずれかを指定します。
ACCOUNT
アカウント全体の記録を返します。
DATABASE
、 .DATABASE db_name
現在使用中のデータベースまたは指定されたデータベース(
db_name
)の記録を返します。db_name
なしでDATABASE
を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。注釈
データベースコンテキストで
IN
句を指定せずに SHOW コマンドを使用すると、予想よりも少ない結果になる可能性があります。IN
句を使用しない場合、同じ名前のオブジェクトは一度だけ表示されます。例えば、schema1
にテーブルt1
、そしてschema2
にテーブルt1
があり、両方とも指定したデータベースコンテキストのスコープ内にある場合(つまり、選択したデータベースがschema1
とschema2
の親である場合)の場合、 SHOW TABLES はt1
テーブルの1つのみを表示します。SCHEMA
、 .SCHEMA schema_name
現在使用中のスキーマまたは指定されたスキーマ(
schema_name
)の記録を返します。データベースが使用中の場合、または完全修飾
schema_name
(例:db.schema
) を指定する場合、SCHEMA
はオプションです。データベースが使用されていない場合は、
SCHEMA
を指定しても出力には影響しません。
APPLICATION application_name
、 .APPLICATION PACKAGE application_package_name
名前付き Snowflake Native App またはアプリケーションパッケージの記録を返します。
デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。
データベース:
DATABASE
がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。データベースなし:
ACCOUNT
はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。
使用上の注意¶
出力列は SHOW TABLES の出力列に似ていますが、次の追加の列が含まれています。
refreshed_on: 「リフレッシュ」操作 で処理されたベーステーブルに対する最後の DML 操作の時刻。
compacted_on: 「圧縮」操作 で処理されたベーステーブルに対する最後の DML 操作の時刻。
behind_by: ベーステーブルからの変更でマテリアライズドビューを更新するバックグラウンドプロセスがまだマテリアライズドビューを最新にしていない場合、この列は、マテリアライズドビューがベーステーブルからおよそ何秒「遅れ」ているかを示します。マテリアライズドビューが最新ではないと表示されている場合でも、マテリアライズドビューに対するクエリは最新の結果を返します(ベーステーブルから追加情報を取得するために多少時間がかかる場合あり)。
コマンド SHOW VIEWS は、マテリアライズドビューに関する情報も表示します。
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。このコマンドの出力をクエリするには、 パイプ演算子 を使用することもできます。
コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 1万件の記録を返します。1万件を超える記録は、フィルターを適用しても返されません。
1万件を超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
出力¶
コマンド出力では、次の列にマテリアライズドビュープロパティとメタデータが提供されます。
列 |
説明 |
---|---|
created_on |
マテリアライズドビューが作成されたときのタイムスタンプ。 |
name |
マテリアライズドビューの名前。 |
reserved |
今後の使用のために予約されています。 |
database_name |
マテリアライズドビューが存在するデータベースの名前。 |
schema_name |
マテリアライズドビューが存在するスキーマの名前。 |
cluster_by |
クラスタリング列に関する情報(マテリアライズドビューがクラスター化されている場合)。 |
rows |
マテリアライズドビューの行数。 |
bytes |
マテリアライズドビューのデータのバイト数。 |
source_database_name |
マテリアライズドビューのベーステーブルが存在するデータベースの名前。 |
source_schema_name |
マテリアライズドビューのベーステーブルが存在するスキーマの名前。 |
source_table_name |
マテリアライズドビューのベーステーブルの名前。 |
refreshed_on |
「リフレッシュ」操作 で処理されたベーステーブルに対する最後の DML 操作のタイムスタンプ。 |
compacted_on |
「圧縮」操作 で処理されたベーステーブルに対する最後の DML 操作のタイムスタンプ。 |
owner |
マテリアライズドビューの所有者。 |
invalid |
マテリアライズドビューが現在無効である場合(例: ビューが使用する列をベーステーブルが削除した場合)はTrue。それ以外の場合はfalse。 |
invalid_reason |
マテリアライズドビューが現在無効である理由(ある場合)。 |
behind_by |
ベーステーブルの更新に対して、マテリアライズドビューの更新が遅れている度合い。 |
comment |
オプションのコメント。 |
text |
このマテリアライズドビューを作成したコマンドのテキスト(例: CREATE MATERIALIZED VIEW ...)。 |
is_secure |
マテリアライズドビューがセキュアビューである場合はtrue。それ以外の場合はfalse。 |
automatic_clustering |
ビューがクラスター化済み かつ クラスタリングが自動の場合はTrue。 |
owner_role_type |
オブジェクトを所有するロールのタイプ。例えば |
owner_role_type |
オブジェクトを所有するロールのタイプ。例えば |
例¶
マテリアライズドビューをすべて表示します。
SHOW MATERIALIZED VIEWS;
指定した正規表現に一致する名前を持つマテリアライズドビューのみを表示します。
SHOW MATERIALIZED VIEWS LIKE 'mv1%'; +-------------------------------+------+----------+---------------+-------------+------------+------+-------+----------------------+--------------------+-------------------+-------------------------------+--------------+----------+---------+----------------+-----------+---------+--------------------------------------------+-----------+----------------------+-----------------+ | created_on | name | reserved | database_name | schema_name | cluster_by | rows | bytes | source_database_name | source_schema_name | source_table_name | refreshed_on | compacted_on | owner | invalid | invalid_reason | behind_by | comment | text | is_secure | automatic_clustering | owner_role_type | |-------------------------------+------+----------+---------------+-------------+------------+------+-------+----------------------+--------------------+-------------------+-------------------------------+--------------+----------+---------+----------------+-----------+---------+--------------------------------------------+-----------|----------------------+-----------------| | 2018-10-05 17:13:17.579 -0700 | MV1 | | TEST_DB1 | PUBLIC | | 0 | 0 | TEST_DB1 | PUBLIC | INVENTORY | 2018-10-05 17:13:50.373 -0700 | NULL | SYSADMIN | false | NULL | 0s | | CREATE OR REPLACE MATERIALIZED VIEW mv1 AS | false | OFF | ROLE | | | | | | | | | | | | | | | | | | | | SELECT ID, price FROM inventory; | | | | | +-------------------------------+------+----------+---------------+-------------+------------+------+-------+----------------------+--------------------+-------------------+-------------------------------+--------------+----------+---------+----------------+-----------+---------+--------------------------------------------+-----------+----------------------+-----------------+