マテリアライズ照会表ノード

マテリアライズ照会表ノードは、SQL ステートメント内で参照されるマテリアライズ照会表を表します。マテリアライズ照会表は、一般的な副照会の結果を保管し、複雑な Online Analytical Processing (OLAP) 照会を迅速に行うために使用されます。

DB2® for z/OS® は、システム保守マテリアライズ照会表とユーザー保守マテリアライズ照会表の、2 つのタイプのマテリアライズ照会表をサポートします。 ユーザー保守マテリアライズ照会表では、レコードの挿入、更新、および削除を行うことができますが、システム保守マテリアライズ照会表では、レコードの挿入、更新、および削除を行うことはできません。

マテリアライズ照会表ノードには、マテリアライズ照会表の名前がラベルとして付けられます。このタイプのノードのデフォルトの形状は上下逆の台形です。 表の相関名、作成者名、またはカーディナリティーもラベルに表示できます。 RUNSTATS ユーティリティーが表の統計を収集していない場合、このノードは赤で枠取りされます。 オプティマイザーがカーディナリティーにデフォルト値を使用すると、そのカーディナリティーにはデフォルトとしてのマークが付けられます。

DB2 がマテリアライズ照会表にアクセスする方法

DB2 は、基本表にアクセスするのと同じ方法でマテリアライズ照会表にアクセスします。ただし、例外が 1 つあります。DB2 は直接フェッチを使用してマテリアライズ照会表にアクセスすることはできません。

基礎になるデータが変更されても、DB2 は自動的にはマテリアライズ照会表をリフレッシュしません。 マテリアライズ照会表がシステム保守されている場合、そのデータを最新の状態に維持するためには REFRESH TABLE ステートメントを実行する必要があります。 マテリアライズ照会表がユーザー保守されている場合、必要に応じて INSERT、UPDATE、または DELETE ステートメントを実行する必要があります。 マテリアライズ照会表の使用を制御するためには、CURRENT REFRESH AGE および CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION 特殊レジスターを使用してください。


フィードバック