マテリアライズド・ビューに関してよく寄せられる質問

マテリアライズド・ビューの使用方法に関して最も一般的な質問に対する回答。

マテリアライズド・ビューをプロダクション環境で使用できますか?

マテリアライズド・ビューを使用する前に、既知の制限事項を確認し、その内容をお使いのアプリケーションの要件と比較して検証し、マテリアライズド・ビューが環境に適しているかどうかを判断してください。

マテリアライズド・ビューを展開した後、ベース・テーブルとビューに矛盾がないことを確認するには定期的な保守修繕が必要になります。アプリケーションに対する制限事項の検証を実施してベスト・プラクティスに従うことで、マテリアライズド・ビューをプロダクション環境で展開できるようになります。

マテリアライズド・ビューを使用するよりも手動で非正規化した方が良いですか?

この選択は、ユース・ケースと要件に応じて判断が左右されます。複雑な障害や同時更新に直面しながらビューとテーブル間の整合性を確保するには、追加メカニズム(行のロック、ビューの修復、ペア化されたビューの複製など)が必要になります。つまり、必要以上の作業が求められます。実際には、組み込みのマテリアライズド・ビューを使用しても、手動で非正規化されたテーブルを使用しても保証は失われません。

手動で非正規化を行うこととマテリアライズド・ビューを使用することで違いが生まれるのは、整合性がそれほど重要でない場合やデータが更新または削除されない場合です。このような場合は、マテリアライズド・ビューを使用するのではなく、クライアントから複数のテーブルに書き込みます。