まとめ
自分が不勉強だったのでメモ。 Oracle Databaseでは、マテリアライズドビューを作成すると、同名のテーブルが作成されます。 この挙動はCREATE MATERIALIZED VIEWのドキュメントにも記載されています。
マテリアライズド・ビューを作成すると、そのマテリアライズド・ビューのスキーマ内に、1つの内部表および1つ以上の索引が作成されます。また、1つのビューが作成されることもあります。これらのオブジェクトは、マテリアライズド・ビューのデータをメンテナンスするために使用されます。ユーザーには、これらのオブジェクトを作成するための権限が必要です。
例
employeesテーブルを利用するマテリアライズドビューemployees_mvを作成するとします。
CREATE MATERIALIZED VIEW employees_mv AS SELECT * FROM employees;
USER_OBJECTSテーブルを確認すると、マテリアライズドビューとテーブルが作成されていることがわかります。
SELECT object_name, object_type
FROM USER_OBJECTS
WHERE object_name = 'EMPLOYEES_MV'
OBJECT_NAME | OBJECT_TYPE |
---|---|
EMPLOYEES_MV | TABLE |
EMPLOYEES_MV | MATERIALIZED VIEW |
なお、マテリアライズドビューemployees_mvを削除すると、テーブルemployees_mvも同時に削除されます。
環境情報
- Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0