マテリアライズドビュー分析機能は、テナント内のマテリアライズドビューの表示と管理サービスを提供します。マテリアライズドビュー タブでは、マテリアライズドビューの基本情報、リフレッシュステータス、リフレッシュ履歴を確認でき、マテリアライズドビューの稼働状況を監視し、リフレッシュ例外を速やかに発見・処理するのに役立ちます。
背景情報
マテリアライズドビュー(Materialized View、MV)はデータベースオブジェクトの一種で、従来のビューとは異なり、実際にクエリ結果のデータを格納します。簡単に言えば、マテリアライズドビューを作成すると、データベースは関連するSQLクエリを実行し、結果セットをディスクに格納します。ビューのクエリ結果を事前に計算して格納することで、リアルタイム計算を削減し、クエリパフォーマンスを向上させ、複雑なクエリロジックを簡素化します。高速なレポート生成やデータ分析のシナリオでよく使用されます。マテリアライズドビューの詳細な技術説明については、マテリアライズドビューの概要(MySQLモード) および マテリアライズドビューの概要(Oracleモード) をご参照ください。
マテリアライズドビューは、ベーステーブルとのデータ同期を維持するために定期的なリフレッシュが必要です。マテリアライズドビュー分析機能は、以下の点で役立ちます。
- マテリアライズドビューの基本情報と設定を表示します。
- マテリアライズドビューのリフレッシュステータスと遅延を監視します。
- マテリアライズドビューのリフレッシュ履歴を表示します。
- リフレッシュの例外や遅延の問題を速やかに発見します。
マテリアライズドビューリストの表示
OB Cloudクラウドデータベースコンソール にログインします。
左側のナビゲーションペインで、インスタンス をクリックします。
インスタンスリストから対象のインスタンスを見つけ、インスタンス名をクリックしてインスタンスワークベンチに入ります。
左側のナビゲーションペインで 診断 をクリックし、診断 ページで リアルタイム診断 タブを選択します。
ページ中央で マテリアライズドビュー タブをクリックします。
マテリアライズドビュー タブの左上でテナントを選択します。
マテリアライズドビュー タブで、リスト をクリックし、現在のテナント下のマテリアライズドビューリストを表示します。
マテリアライズドビューリストには以下の情報が含まれます:
列名 |
説明 |
|---|---|
| ID | マテリアライズドビューの一意の識別子。 |
| データベース | マテリアライズドビューが属するデータベース名。データベースによるフィルタリングをサポートします。 |
| 名前 | マテリアライズドビューの名前。名前によるフィルタリングをサポートします。 |
| 表示 | マテリアライズドビューのクエリ定義。表示 をクリックすると、完全なビュー定義ステートメントを表示できます。 |
| 構築モード | マテリアライズドビューの構築モード。以下を含みます。 • IMMEDIATE:即時構築。マテリアライズドビュー作成時にクエリを即座に実行し、データを投入します。 • DEFERRED:遅延構築。マテリアライズドビュー作成時にデータを投入せず、手動で構築をトリガーする必要があります。 |
| リフレッシュモード | マテリアライズドビューのリフレッシュモード。以下を含みます。 • ON COMMIT:コミット時リフレッシュ。ベーステーブルのデータがコミットされると、マテリアライズドビューを自動的にリフレッシュします。 • ON DEMAND:オンデマンドリフレッシュ。マテリアライズドビューを手動またはスケジュールに従ってリフレッシュする必要があります。 • ON STATEMENT:ステートメントレベルリフレッシュ。関連するステートメントが実行されるたびにリフレッシュします。 |
| リフレッシュ方法 | マテリアライズドビューのリフレッシュ方法。以下を含みます。 • COMPLETE:完全リフレッシュ。クエリステートメントを再実行し、既存のデータを上書きします。 • FAST:高速リフレッシュ(増分リフレッシュ)。変更されたデータのみをリフレッシュし、マテリアライズドビューのログ(Mlog)に依存します。 |
| リフレッシュ間隔(秒) | 自動リフレッシュモードでの、マテリアライズドビューのリフレッシュ間隔時間(単位:秒)。 |
| 現在の遅延(秒) | マテリアライズドビューの現在のデータ遅延時間(単位:秒)。つまり、前回のリフレッシュからの経過時間です。現在の遅延が大きい場合、マテリアライズドビューのデータが期限切れになっている可能性があります。 |
| 次回リフレッシュ | マテリアライズドビューの次回の計画リフレッシュ時間。 |
| 最終リフレッシュ時間 | マテリアライズドビューの最終リフレッシュ時間。 |
| 最終リフレッシュ所要時間(秒) | マテリアライズドビューの最終リフレッシュにかかった時間(単位:秒)。 |
説明
- マテリアライズドビューリストは、名前によるフィルタリングをサポートしており、目的のマテリアライズドビューを素早く特定するのに役立ちます。
- マテリアライズドビューの現在の遅延が大きい場合、リフレッシュタスクが正常に実行されているか確認するか、リフレッシュ間隔の設定を調整することを検討してください。
- 最終リフレッシュ所要時間は、マテリアライズドビューのリフレッシュパフォーマンスを評価するのに役立ちます。所要時間が長すぎる場合、マテリアライズドビューの定義またはリフレッシュ方法を最適化する必要があるかもしれません。
リフレッシュ履歴の表示
リフレッシュ履歴機能は、マテリアライズドビューの過去のリフレッシュ操作を追跡し、リフレッシュ頻度とパフォーマンスの傾向を分析し、リフレッシュ例外の問題を速やかに発見するのに役立ちます。
マテリアライズドビュー タブで、レコードを更新 タブをクリックします。
リフレッシュ履歴ページでは、以下のフィルタ条件を使用して目的のレコードを検索できます:
- タイムアウトしたレコードのみ表示:このオプションをチェックすると、リフレッシュがタイムアウトしたレコードのみが表示され、リフレッシュ例外の問題を素早く特定するのに役立ちます。
- 基底テーブルの内容を表示:このオプションをチェックすると、マテリアライズドビューのベーステーブルに関する情報を表示できます。
- 時間範囲:表示するリフレッシュ履歴の時間範囲を選択します。以下を実行できます。
- カスタム ボタンをクリックし、開始時間と終了時間を手動で選択します。
- 時間範囲セレクターの両側にあるナビゲーション矢印(
<および>)を使用して、時間範囲を素早く調整します。
- 時間範囲:表示するリフレッシュ履歴の時間範囲を選択します。以下を実行できます。
- リフレッシュ履歴リストで、マテリアライズドビューの過去のリフレッシュ履歴を表示します。
列名 |
説明 |
|---|---|
| ID | リフレッシュ履歴の一意の識別子。 |
| データベース | マテリアライズドビューが属するデータベース名。データベースによるフィルタリングをサポートします。 |
| 名前 | マテリアライズドビューの名前。 |
| リフレッシュ方法 | 今回のリフレッシュで使用されたリフレッシュ方法。以下を含みます。 • COMPLETE:完全リフレッシュ。 • FAST:高速リフレッシュ(増分リフレッシュ)。 |
| リフレッシュ所要時間(秒) | 今回のリフレッシュ操作にかかった時間(単位:秒)。 |
| 開始時間 | 今回のリフレッシュ操作の開始時間。 |
| 終了時間 | 今回のリフレッシュ操作の終了時間。 |
| 成功 | 今回のリフレッシュ操作の結果。以下を含みます。 • 成功:リフレッシュ操作が正常に完了しました。 • 失敗:リフレッシュ操作が失敗しました。エラー情報を確認してトラブルシューティングできます。 |
| リフレッシュ前行数 | リフレッシュ前のマテリアライズドビュー内のデータ行数。 |
| リフレッシュ後行数 | リフレッシュ後のマテリアライズドビュー内のデータ行数。 |
説明
- リフレッシュ前後の行数を比較することで、今回のリフレッシュ操作がデータに与える影響を把握できます。
- リフレッシュに時間がかかりすぎる場合、マテリアライズドビューの定義の複雑さやベーステーブルのデータ量を確認し、リフレッシュ方法の最適化またはリフレッシュ戦略の調整を検討することをお勧めします。
- リフレッシュ結果が失敗と表示された場合、エラー情報を確認し、ベーステーブルのデータ、マテリアライズドビューのログ(Mlog)などが正常であるかを確認することをお勧めします。
- リフレッシュ履歴リストはページネーション表示をサポートしており、下部のページネーションコントロールを使用してページを切り替えたり、1ページあたりの表示レコード数を調整したりできます。