概要
本記事の位置付けについて
Oracle Database から Azure SQL Database へ SQL Server Migration Assistant for Oracle (SSMA)によるプログラム移行検証結果の一部である。次の記事にて個別機能別記事へのリンクを整理している。
マテリアライズド・ビューについて
Oracle Database ドキュメントにて、次のように記載されている。
スキーマ・オブジェクトとして事前に格納またはマテリアライズされた問合せ結果です。
引用元:マテリアライズド・ビューの概要 (oracle.com)
次のようなテーブルへのクエリ性能を最適化する場合に、よく利用される。
- ファクトテーブル
- レプリケーションのマスタテーブル
- データベース・リンクによるリモートテーブル
参考リンク
- ホワイトペーパー
- Guide to Migrating from Oracle to SQL Server 2014 and Azure SQL Database
- Oracle to SQL Server Migration Handbook v 2.0
- その他
Azure SQL Database への移行
SSMA による変換
マテリアライズド・ビューはインデックス付きビューに変換される。
移行方針
次の対応の実施を検討する。
- ビュー化
- テーブル化
- インデックス付きビュー化
インデックス付きビュー化する際には、次のドキュメントに記載されている要件を満たす必要がある。
変換例
変換例 1 マテリアライズド・ビューの変換
Oracle Database のコード
CREATE MATERIALIZED VIEW hr.mv_employees
REFRESH
FORCE
ON DEMAND
AS
SELECT
employee_id,
first_name,
last_name
FROM
hr.employees;
Azure SQL Database への変換
SSMA により次のように変換される。
CREATE VIEW HR.MV_EMPLOYEES
WITH
SCHEMABINDING
AS
SELECT
EMPLOYEES.EMPLOYEE_ID,
EMPLOYEES.FIRST_NAME,
EMPLOYEES.LAST_NAME,
EMPLOYEES.EMAIL AS EMPLOYEES_EMAIL
FROM HR.EMPLOYEES
GO