マテリアライズドビュー(Materialized View, MV)はデータベースオブジェクトの一種で、標準ビューとは異なり、ビューのクエリ結果を格納しています。アグリゲーションや結合など時間のかかる操作の結果を保存し、クエリ時に直接再利用することで、これらの時間とリソースを消費する操作が繰り返し実行されるのを回避し、結果的にクエリの高速化を実現します。特にデータウェアハウスや意思決定支援システムにおいて、計算時間を大幅に短縮し、クエリ効率を向上させることができます。
AP / リアルタイムデータウェアハウスでマテリアライズドビューを使用する理由
- 重複計算の削減:多次元分析、ワイドテーブルの結合、定期レポートでは同じJOIN/GROUP BYが繰り返し発生することがよくあります。マテリアライズドビューにすることで、更新タスクによって一元的に管理されます。
- 鮮度とコストの制御:フル / 増分 / リアルタイム(オンデマンド) などの戦略を通じて、遅延とリソース消費の間でトレードオフを図ります(機能の選定については マテリアライズドビューの典型的なユースケース を参照)。
- その他のAP機能との組み合わせ:例えば、カラムストア形式 のマテリアライズドビュー結果、クエリのリライト によるマテリアライズドビュー結果への絞り込み、外部テーブル と組み合わせたレイクハウス連携(ユースケースと手順SQLについては マテリアライズドビューの典型的なユースケース を参照)。
適用シナリオ
- データ集計:取引明細や行動履歴などを日/週/月単位で集計します。
- 定型レポート / メトリクス層:メトリクステーブルを事前に計算し、レポートやAPIクエリで利用します。
- 重複クエリの最適化:リソース消費が激しいSQLの結果をマテリアライズし、繰り返し実行を回避します。
- データの近接性とレプリカ戦略(ビジネス計画に基づく):コンプライアンスを前提としてアグリゲーションの結果を冗長化し、ルーティングおよびレプリカ戦略と組み合わせて使用します。
- 監視系の事前アグリゲーション:時間単位で監視明細を事前に集計します。
コア機能
クエリの高速化
単一テーブルの集計:業務上、単一テーブルの既存データが多く、頻繁にグループアグリゲーションを伴うクエリが必要なシナリオでは、単一テーブルのグループアグリゲーションに対する増分更新(refresh fast)マテリアライズドビューを作成できます。クエリ時に最新の変更をマージする必要がある場合は、条件を満たす場合に リアルタイムマテリアライズドビュー(ENABLE ON QUERY COMPUTATION) を使用できます。
複数テーブルの結合:業務上、複数テーブルの既存データが多く、頻繁に結合クエリが必要なシナリオでは、複数テーブル結合に対する増分更新(refresh fast)マテリアライズドビューを作成できます。複数テーブルJOINタイプのマテリアライズドビューは、データのメンテナンスを適切に行った後、クエリのリライト と組み合わせることで、ベーステーブルへのクエリを自動的にマテリアライズド結果に転送します。
マテリアライズドビューとリアルタイムデータウェアハウス
OceanBaseのAP / リアルタイムデータウェアハウスシナリオにおいて、マテリアライズドビューは、明細またはワイドテーブル上の繰り返し計算を更新可能な物理結果セットとして保持させ、時間(バッチ/準リアルタイム)、空間(ディメンション/粒度)、テーマ(ビジネス領域)にわたって多次元集計と派生メトリクスを整理するためによく使用されます。カラムストア、クエリのリライト、増分更新などと組み合わせることで、オンライン分析におけるベーステーブルのスキャンと計算負荷を軽減できます。
リアルタイムデータウェアハウスにおけるマテリアライズドビューの位置付け
典型的なリアルタイムまたは準リアルタイムデータウェアハウスのパイプラインは、次のように要約できます:**取り込み(CDC / ファイル / 外部テーブル)→ 詳細層(DWD)→ 集計・テーマ層(DWS / ADS)→ クエリ・レポート。マテリアライズドビューは、このパイプライン内の 繰り返し可能なアグリゲーション、結合、ワイドテーブルの展開 の処理を行うのに適しています。
- 多次元集計:地域、カテゴリ、タイムウィンドウなどでファクトテーブルに対して
GROUP BYを行い、ディメンションテーブルを結合します。 - データ階層化:フル / 増分 / リアルタイムマテリアライズドビュー と 定時または手動更新 を組み合わせることで、遅延、リソース使用量、結果の一貫性 の間でトレードオフを実現します。
- クエリの高速化:詳細テーブルへのSQLアクセスを維持したまま、クエリの再構成 により自動的にマテリアライズドビューの結果を参照する経路に変更し、業務システムへの改修を軽減します。
詳細については、マテリアライズドビューの概要(MySQL)、マテリアライズドビューの概要(Oracle)を参照してください。
更新機能:マテリアライズドビューの結果をベーステーブルと同期させる
マテリアライズドビューは、リフレッシュ戦略 を通じてベーステーブルのデータと同期する必要があります。
機能のポイント |
説明 |
実践の入口 |
|---|---|---|
| フル更新 | 定義に従って毎回再計算し、結果を上書きします。定義が複雑で、比較的長いウィンドウを許容する、または完全な同期が必要なシナリオに適しています。 | マテリアライズドビューの更新(MySQL)、マテリアライズドビューの更新(Oracle) |
| 増分更新(高速更新) | Mlog に基づいて変更を処理します。ベーステーブルが大きく、変更が比較的局所的なシナリオに適しています。SQLの形式に制限があります。 | 上記と同じです。Mlogについては、マテリアライズドビューのログ(MySQLモード)、マテリアライズドビューのログ(Oracleモード)を参照してください。 |
| 自動 / 手動更新 | 作成時にスケジュールを設定できます。また、必要に応じて手動で更新することもできます(例:DBMS_MVIEW.REFRESH)。 |
マテリアライズドビューの作成(MySQL)、マテリアライズドビューの作成(Oracle) |
| Mlogの自動管理 | 対応しているバージョンでは、Mlogの手動メンテナンスコストを削減します。 | マテリアライズドビューのログ(MySQLモード)、マテリアライズドビューのログ(Oracleモード) |
| 更新リソースの分離 | バッチ更新とMlogのメンテナンスをオンライン負荷から分離できます。 | マテリアライズドビューのリソース分離(MySQLモード)、マテリアライズドビューのリソース分離(Oracleモード) |
並列度は mview_refresh_dop などの変数を調整することで最適化できます。
クエリのリライト機能:業務SQLをあまり変更せずにマテリアライズドビューの結果を取得できる
クエリのリライトとは、オプティマイザーがベーステーブル(または同等のセマンティクス)に対するクエリを既存のマテリアライズドビューにマッチングし、事前計算された結果でクエリに応答することです。
- マテリアライズドビュー作成時に**
ENABLE QUERY REWRITE**を有効にできます(具体的な構文と制限はマニュアルを参照してください)。 - リライトは、query_rewrite_enabledやquery_rewrite_integrityなどのセッション/グローバル変数の影響を受けます。
詳細なルールと例については、マテリアライズドビューによるクエリのリライト(MySQL)およびマテリアライズドビューによるクエリのリライト(Oracle)を参照してください。
マテリアライズドビューの機能と選定
前述の「リアルタイムデータウェアハウスの位置付け、更新能力、クエリのリライト能力」と重複を避けるため、このセクションでは意思決定レベルの簡潔なポイントのみを記載します。サンプルとSQLは後述の各章を参照してください。
更新戦略(フル / 増分 / 自動 / 手動)
- フル更新(Complete):更新するたびに、マテリアライズドビューはクエリステートメントを再実行し、計算結果で既存のビュー結果データを上書きします。レイテンシ要求が低く、ベーステーブルのデータ更新頻度が低い、クエリステートメントが複雑である、またはデータ量が小さいシナリオに適しています。
- 増分更新(Fast):高速更新(Fast Refresh)とも呼ばれます。増分更新はマテリアライズドビューのログ(Materialized View Log、Mlog)に依存しており、クエリステートメントに一定の要件があります。現在、単一テーブルのアグリゲーション、複数テーブルの結合、および複数テーブルの結合とアグリゲーションのクエリステートメントをサポートしており、アグリゲーション関数と結合方法には大規模データ量と高頻度変更シナリオに適した要件があります。
- 自動更新:マテリアライズドビュー作成時に、その更新間隔を指定できます。システムは設定された更新時間ルールに基づいて、マテリアライズドビューの更新タスクを自動的にスケジューリングします。
- 手動更新:マテリアライズドビューに自動更新が設定されていない、または自動更新の間隔が長い場合、マテリアライズドビューの更新コマンドを手動で実行し、マテリアライズドビューのデータとベーステーブルのデータを同期状態で保つことができます。
詳細な構文と制限については、マテリアライズドビューの更新(MySQL)およびマテリアライズドビューの更新(Oracle)を参照してください。
リアルタイムマテリアライズドビュー(ON QUERY COMPUTATION)
リアルタイムマテリアライズドビュー(Real-Time Materialized Views)は、その名の通り、マテリアライズドビューをクエリすることでリアルタイムのデータを取得できるものです。クエリ結果はベーステーブルを直接クエリした場合と同じであり、マテリアライズドビューで事前に計算された結果を活用してクエリを高速化できます。Mlogのメカニズムを使用して基盤となるベーステーブルの変更を捕捉・処理することで、マテリアライズドビュー内のデータが常に最新の状態を反映するようになります。Mlogに依存するため、リアルタイムマテリアライズドビューのクエリステートメントには増分更新のマテリアライズドビューと同じ要件があります。つまり、対応するマテリアライズドビューをリアルタイムマテリアライズドビューとして定義するには、増分更新のマテリアライズドビューの要件を満たす必要があります。
リアルタイムマテリアライズドビューの作成に関する詳細は、MySQLモードでのマテリアライズドビューの作成およびOracleモードでのマテリアライズドビューの作成を参照してください。
クエリのリライト(ENABLE QUERY REWRITE)
マテリアライズドビューを活用してクエリを高速化したいが、元のクエリステートメントを変更したくない場合、マテリアライズドビューのクエリリライト機能を利用できます。システムはクエリステートメントとマテリアライズドビューの定義を自動的に照合し、一致するマテリアライズドビューを見つけた場合、クエリをマテリアライズドビューを使用するクエリに自動的にリライトします。これにより、業務上の変更を加えることなく、クエリのパフォーマンスと効率を大幅に向上させることができます。
マテリアライズドビューによるクエリのリライトに関する詳細は、MySQLモードでのマテリアライズドビューによるクエリのリライトおよびOracleモードでのマテリアライズドビューによるクエリのリライトを参照してください。
クエリ高速化の最適化手法
最適化の観点 |
推奨事項 |
適用シナリオ |
価値 |
|---|---|---|---|
| クエリの形態に応じたマテリアライズド結果の格納形式の選択 | 幅いテーブルの分析ではカラムストア、行レベルアクセスでは行ストアを優先する。 | スキャン効率と行アクセス効率のバランスが必要なシナリオ。 | 不要な列の読み取りを減らし、I/Oを低減し、クエリ効率を向上させる。 |
| マテリアライズドビューデータのストレージ形式 | 実際のアプリケーションシナリオに応じて行ストアまたはカラムストアを選択する。行ストアは「結果が集計されており、行単位でのアクセスが主」な場合に適している。カラムストアは「幅いテーブル + 集計分析が主」な場合に適している。 | レポートの集計、幅いテーブルの分析、固定指標のクエリ。 | アクセスパターンにより密着し、スキャンオーバーヘッドを低減する。 |
| 主キーを使用したマテリアライズドビューの作成 | マテリアライズドビューに主キーを定義し、結果セットの一意性を保証する。 | 安定した位置付け、更新、または重複除去が必要なマテリアライズド結果。 | 検索と更新の効率を向上させ、重複データのリスクを低減する。 |
| マテリアライズドビューに基づくインデックスの作成 | フィルター列、関連列、ソート列に基づいてインデックスを作成する。 | 高頻度のフィルタリング、関連付け、ソートクエリ。 | フルテーブルスキャンを減らし、ヒットパスを高速化する。 |
| SLAに基づく更新戦略の調整 | 「遅延、鮮度、リソース」のバランスを取り、必要に応じてフル/増分、自動/手動の更新を選択する。 | 異なるリアルタイム性レベルのAP/レポートシナリオ。 | 盲目的なリアルタイム性の追求を避け、リソースコストを管理しながら可用性を維持する。 |
マテリアライズドビューはクエリ高速化の重要な手段です。大規模データシナリオでは、「ストレージ形式 + インデックス + 更新戦略」の3つを協調させることで、クエリパフォーマンスを継続的に最適化できます。
マテリアライズドビューの作成例
注意
以下の例はすべてMySQLモードで実行されます。
ソーステーブルの作成
まず、元データを格納するためのソーステーブルを作成します。この例では、販売データと商品情報を含む sales テーブルと items テーブルを作成します。
販売データテーブル
salesを作成します。CREATE TABLE sales ( order_id INT PRIMARY KEY, user_id INT, item_id INT, item_count INT, region VARCHAR(100) );商品情報テーブル
itemsを作成します。CREATE TABLE items ( order_id INT, product_id INT, quantity INT, price_per_item DECIMAL(10, 2) NOT NULL, pic_url VARCHAR(1000), PRIMARY KEY (order_id, product_id) );
フル更新マテリアライズドビューの作成
sales テーブルに基づくマテリアライズドビューを作成します。このマテリアライズドビューは、製品と地域ごとに販売量を集計し、クエリの高速化を図ります。
製品と地域ごとに販売量を集計したマテリアライズドビュー mv_sales_summary を作成します。
CREATE MATERIALIZED VIEW mv_sales_summary(PRIMARY KEY(item_id))
REFRESH COMPLETE
START WITH sysdate()
NEXT sysdate() + interval 1 hour
AS SELECT item_id, region, SUM(item_count) AS total_count
FROM sales
GROUP BY item_id, region;
このマテリアライズドビューの作成例では、以下の特性を指定しています:
- PRIMARY KEY:マテリアライズドビューにプライマリキーを指定します。
REFRESH COMPLETE:フル更新方式を採用します。START WITH sysdate() NEXT sysdate() + interval 1 hour:1時間ごとに定期的に更新します。
増分更新マテリアライズドビューの作成
データ変更が頻繁なシナリオでは、増分更新を使用して更新効率を向上させることができます。増分更新マテリアライズドビューを作成する前に、マテリアライズドビューのベーステーブルに基づいてマテリアライズドビューのログ(Mlog)を作成する必要があります。OceanBaseデータベースはマテリアライズドビューのログの自動管理機能をデフォルトで有効にしており、増分更新マテリアライズドビューまたはリアルタイムマテリアライズドビューを作成する際、OceanBaseデータベースは自動的にmlogを作成またはmlog定義を自動的に更新します。
マテリアライズドビューのログの詳細については、MySQLモードのマテリアライズドビューのログおよびOracleモードのマテリアライズドビューのログを参照してください。
次に、増分更新マテリアライズドビューがサポートする3つのクエリシナリオの例を示します:
単一テーブルの集計
単一テーブルの集計を行う増分更新マテリアライズドビュー mv_sales_summary_fast を作成します。
CREATE MATERIALIZED VIEW mv_sales_summary_fast
REFRESH FAST
START WITH sysdate() NEXT sysdate() + interval 1 hour
AS SELECT
item_id,
region,
SUM(item_count) AS total_count
FROM sales
GROUP BY item_id, region;
説明
V4.4.2 BP2 より前のバージョンを使用する場合、マテリアライズドビュー定義内の集計関数は SELECT 句に依存列を含める必要があります。詳細については、マテリアライズドビューの更新(MySQLモード) および マテリアライズドビューの更新(Oracleモード) を参照してください。
複数テーブルの結合
複数テーブルを結合した増分更新マテリアライズドビュー mv_sales_items_join を作成します。
CREATE MATERIALIZED VIEW mv_sales_items_join
PARTITION BY HASH(order_id)
PARTITIONS 10
REFRESH FAST
START WITH sysdate()
NEXT sysdate() + interval 1 hour
AS SELECT s.order_id AS order_id,
s.user_id AS customer_id,
s.item_id AS item_id,
s.item_count AS quantity,
s.region AS region,
i.order_id AS i_id,
i.product_id AS i_item_id,
i.price_per_item AS price_per_item,
i.pic_url AS pic_url
FROM sales s JOIN items i
ON s.order_id = i.order_id;
複数テーブルの結合と集計
複数テーブルを結合して集計した増分更新マテリアライズドビュー mv_sales_item_join_group を作成します。
CREATE MATERIALIZED VIEW mv_sales_item_join_group
REFRESH FAST
START WITH sysdate()
NEXT sysdate() + interval 1 hour
AS SELECT
s.item_id AS item_id,
s.region AS region,
SUM(s.item_count * i.price_per_item) AS sum_price
FROM sales s JOIN items i
ON s.order_id = i.order_id
GROUP BY item_id, region;
説明
V4.4.2 BP2 より前のバージョンを使用する場合、マテリアライズドビュー定義内の集計関数は SELECT 句に依存列を含める必要があります。詳細については、マテリアライズドビューの更新(MySQLモード) および マテリアライズドビューの更新(Oracleモード) を参照してください。
リアルタイムマテリアライズドビューの作成
リアルタイムマテリアライズドビューは、データが変更された際にマテリアライズドビューのクエリ結果がベーステーブルと同期されることを保証します。リアルタイムマテリアライズドビューはマテリアライズドビューのログに依存しているため、増分更新マテリアライズドビューと同様に、マテリアライズドビューを作成する前にマテリアライズドビューのログを作成する必要があります。OceanBaseデータベースはマテリアライズドビューのログの自動管理機能をデフォルトで有効にしています。増分更新マテリアライズドビューまたはリアルタイムマテリアライズドビューを作成する際、OceanBaseデータベースはmlogを自動的に作成するか、mlog定義を自動的に更新します。
リアルタイムマテリアライズドビュー mv_sales_summary_com を作成します。
CREATE MATERIALIZED VIEW mv_sales_summary_com
REFRESH FORCE
START WITH sysdate()
NEXT sysdate() + interval 1 hour
ENABLE ON QUERY COMPUTATION
AS SELECT
item_id,
region,
SUM(item_count) AS total_count
FROM sales
GROUP BY item_id, region;
この例では、ENABLE ON QUERY COMPUTATION を有効にしています。これにより、マテリアライズドビューはクエリ時にリアルタイムで更新され、最新のデータを取得できるようになります。また、マテリアライズドビューのクエリステートメントは、増分更新マテリアライズドビューの作成要件を満たしています。
説明
V4.4.2 BP2 より前のバージョンを使用する場合、マテリアライズドビュー定義内の集計関数は SELECT 句に依存列を含める必要があります。詳細については、マテリアライズドビューの更新(MySQLモード) および マテリアライズドビューの更新(Oracleモード) を参照してください。
カラムストアマテリアライズドビューの作成
大規模データ分析シナリオでクエリ効率を向上させたい場合、カラムストアマテリアライズドビューを作成できます。列ストア形式により、クエリ時に必要な列のみを読み取ることができ、ディスクI/Oを大幅に削減します。
カラムストアマテリアライズドビュー wide_sales_column を作成します。
CREATE MATERIALIZED VIEW wide_sales_column
WITH COLUMN GROUP(each column)
REFRESH FAST
START WITH sysdate()
NEXT sysdate() + interval 1 hour
AS SELECT
s.order_id AS order_id,
s.user_id AS customer_id,
s.item_id AS item_id,
s.item_count AS quantity,
s.region AS region,
i.order_id AS i_id,
i.product_id AS i_item_id,
i.price_per_item AS price_per_item,
i.pic_url
FROM sales s JOIN items i
ON s.order_id = i.order_id;
このカラムストアマテリアライズドビュー作成の例では、WITH COLUMN GROUP(each column) を指定しており、これによりマテリアライズドビューは列ストア形式を使用します。これはOLAPシナリオ、特に大規模データやワイドテーブルのクエリにおいて非常に有効です。
クエリリライト可能なマテリアライズドビューの作成
この例では、ENABLE QUERY REWRITE を指定して、クエリのリライトが可能なフル更新マテリアライズドビューを作成します。
CREATE MATERIALIZED VIEW mv_sales_summary_select
REFRESH COMPLETE
START WITH sysdate()
NEXT sysdate() + interval 1 hour
ENABLE QUERY REWRITE
AS SELECT item_id, region, SUM(item_count) AS total_count
FROM sales
GROUP BY item_id, region;
この例では、ENABLE QUERY REWRITE および ENABLE ON QUERY COMPUTATION を指定して、クエリのリライトが可能なリアルタイムマテリアライズドビューを作成します。
クエリのリライトが可能なリアルタイムマテリアライズドビュー mv_sales_summary_com_select を作成します。
CREATE MATERIALIZED VIEW mv_sales_summary_com_select
REFRESH FAST
START WITH sysdate() NEXT sysdate() + interval 1 hour
ENABLE ON QUERY COMPUTATION
ENABLE QUERY REWRITE
AS SELECT
item_id,
region,
SUM(item_count) AS total_sales
FROM sales
GROUP BY item_id, region;
説明
V4.4.2 BP2 より前のバージョンを使用する場合、マテリアライズドビュー定義における集約関数は、SELECT 句に依存列を含める必要があります。詳細については、マテリアライズドビューのリフレッシュ(MySQLモード) および マテリアライズドビューのリフレッシュ(Oracleモード) を参照してください。
マテリアライズドビューインデックスの作成
クエリパフォーマンスをさらに最適化するために、マテリアライズドビューにインデックスを作成できます。マテリアライズドビューインデックスは、特に大量のデータが関わる場合、マテリアライズドビューに対するクエリの高速化に役立ちます。
(オプション)製品と地域ごとに販売量を集計したマテリアライズドビュー
mv_sales_summaryを作成します。フル更新マテリアライズドビューの作成 の例に従ってマテリアライズドビュー
mv_sales_summaryを既に作成している場合は、この手順をスキップしてください。CREATE MATERIALIZED VIEW mv_sales_summary(PRIMARY KEY(item_id)) REFRESH COMPLETE START WITH sysdate() NEXT sysdate() + interval 1 hour AS SELECT item_id, region, SUM(item_count) AS total_count FROM sales GROUP BY item_id, region;マテリアライズドビュー
mv_sales_summaryのregion列にインデックスidx_mv_sales_summaryを作成します。CREATE INDEX idx_mv_sales_summary ON mv_sales_summary (region);このインデックスは、特に
region列に基づくクエリにおいて、マテリアライズドビューmv_sales_summary上のクエリを高速化します。
データディクショナリと運用保守ビュー
マテリアライズドビュー、Mログ、更新タスクのトラブルシューティング時によく使用されるシステムビューは以下の通りです(MySQLモードを例とします。完全なリストとフィールド説明は、現在のバージョンのリファレンスドキュメントをご確認ください)。
DBAビュー |
ALLビュー |
USERビュー |
機能 |
|---|---|---|---|
DBA_MVIEW_LOGS |
ALL_MVIEW_LOGS |
USER_MVIEW_LOGS |
マテリアライズドビューのログ情報を記述する |
DBA_MVIEWS |
ALL_MVIEWS |
USER_MVIEWS |
マテリアライズドビューの情報を記述する |
DBA_MVREF_STATS_SYS_DEFAULTS |
USER_MVREF_STATS_SYS_DEFAULTS |
マテリアライズドビューの更新履歴統計プロパティのシステム範囲デフォルト値を記述する | |
DBA_MVREF_STATS_PARAMS |
USER_MVREF_STATS_PARAMS |
各マテリアライズドビューに関連付けられた更新統計情報プロパティを記述する | |
DBA_MVREF_RUN_STATS |
USER_MVREF_RUN_STATS |
マテリアライズドビューの各更新実行情報を記述する。各実行は REFRESH_ID で識別される |
|
DBA_MVREF_STATS |
USER_MVREF_STATS |
マテリアライズドビュー更新の基本タイミング統計情報を記述する | |
DBA_MVREF_CHANGE_STATS |
USER_MVREF_CHANGE_STATS |
すべてのマテリアライズドビューの更新実行に関連付けられたベーステーブル上の変更データロード情報を記述する | |
DBA_MVREF_STMT_STATS |
USER_MVREF_STMT_STATS |
更新ステートメントに関連付けられた情報を記述する |
関連ドキュメント
- マテリアライズドビューの詳細な紹介と使用方法については、マテリアライズドビューの概要(MySQLモード)およびマテリアライズドビューの概要(Oracleモード)を参照してください。
- マテリアライズドビューの更新に関する詳細な紹介と使用方法については、マテリアライズドビューの更新(MySQLモード)およびマテリアライズドビューの更新(Oracleモード)を参照してください。
- マテリアライズドビューのログに関する詳細な紹介と使用方法については、マテリアライズドビューのログ(MySQLモード)およびマテリアライズドビューのログ(Oracleモード)を参照してください。
- マテリアライズドビューの削除に関する詳細な紹介と使用方法については、マテリアライズドビューの削除(MySQLモード)およびマテリアライズドビューの削除(Oracleモード)を参照してください。