マテリアライズド・ビューとXLAによる表の監視
多くのデータベース・システムでは簡素化と、複数の表を含むSELECT問合せのパフォーマンス向上のために、マテリアライズド・ビューが使用されます。TimesTenでのマテリアライズド・ビューもこの同じ機能を備えていますが、TimesTen Classicにおけるマテリアライズド・ビューのもう1つの目的は、XLAと連携して複数の表内の特定の行と列を追跡し続けることです。
ノート:
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のマテリアライズド・ビューの理解を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE MATERIALIZED VIEW
文を参照してください。
マテリアライズド・ビューが存在する場合、XLAは重要な更新レコードを、1つのマテリアライズド・ビューのみで監視できます。マテリアライズド・ビューが存在しない場合は、XLAアプリケーションで、マテリアライズド・ビューのすべてのディテール表の更新レコード(アプリケーションにとって重要ではない行および列への更新が反映されているレコードを含む)に対して監視を行う必要があります。
図8-2は、マテリアライズド・ビューの結果セットを構成するディテール表の列に対して行われる更新を示しています。マテリアライズド・ビューに対する更新を監視するXLAアプリケーションは、更新されたレコードを取得します。マテリアライズド・ビューの一部でない、同じディテール表の列や行に対する更新はXLAアプリケーションでは透過的です。
XLAおよびマテリアライズド・ビューを使用して特定の株式に対する更新内容を検出する取引アプリケーションの例は、「TimesTen Classicアプリケーション使用例」を参照してください。
TimesTenに実装されているマテリアライズド・ビューでは、複数の表にわたる更新の検出においてパフォーマンスおよび機能が強化されています。その他のマテリアライズド・ビューに精通しているユーザーは、次のメリットとデメリットに注意してください。
-
アプリケーションは、明示的にマテリアライズド・ビューを作成する必要があります。TimesTen問合せオプティマイザには、マテリアライズド・ビューを自動的に作成する機能はありません。
-
問合せオプティマイザが、ディテール表に対する問合せを再書込みしてマテリアライズド・ビューを参照することはありません。アプリケーションの問合せでビューを直接参照する必要があります。
-
マテリアライズド・ビューの作成に使用するSQLには一定の制限があります。