$VARCACHEプロパティは、AGGREGATEファンクションまたは$NATRIGGER式の実行結果である変数データを、Oracle OLAPが格納またはキャッシュするかどうかを指定するプロパティです。
関連項目: AGGREGATEファンクションで計算されるNA値のキャッシュの詳細は、「集計データを格納またはキャッシュするかどうかのOracle OLAPによる決定方法」、「$NATRIGGERの結果を格納またはキャッシュするかどうかのOracle OLAPによる決定方法」、「Oracle OLAPセッション・キャッシュの概要」、「CACHE」文のNAキーワードに関する説明を参照してください。 |
構文
次のPROPERTY文を使用して、直近に定義または検討されたオブジェクト(DEFINEコマンドおよびCONSIDERコマンドを参照)に対し、$VARCACHEプロパティの追加または削除を行います。
プロパティを追加する場合は、次の文を発行します。
PROPERTY '$VARCACHE' value
プロパティを削除する場合は、次の文を発行します。
PROPERTY DELETE '$VARCACHE'
パラメータ
AGGREGATEファンクションまたは$NATRIGGER値の実行時に実行される計算の結果である変数データを、Oracle OLAPが配置する場所を示す次のいずれかのTEXT式。
VARIABLEは、AGGREGATEファンクションまたは$NATRIGGERプロパティの実行結果であるデータを変数に移入するように指定します。このオプションを指定した場合、集計結果のデータは、アナリティック・ワークスペースを更新またはコミットしたとき、永続的に変数に格納されます。
SESSIONは、AGGREGATEファンクションまたは$NATRIGGERプロパティの実行結果であるデータをセッション・キャッシュにキャッシュするように指定します(「Oracle OLAPセッション・キャッシュの概要」を参照)。このオプションを指定した場合、AGGREGATEファンクションまたは$NATRIGGERプロパティの実行結果であるデータは、更新時やコミット時には無視され、セッション後に廃棄されます。
重要: SESSCACHEがNO に設定されている場合、SESSION を指定してもOracle OLAPはデータをキャッシュしません。この場合、SESSION の指定は、NONE の指定と同じことになります。 |
NONEは、AGGREGATEファンクションまたは$NATRIGGER値が実行されるたびに新しい変数データを計算するように指定します。データは格納もキャッシュもされません。
DEFAULTは、AGGREGATEファンクションによって計算されたデータの処理方法を決定する際に、Oracle OLAPが$VARCACHEプロパティを使用しないように指定します。(「集計データを格納またはキャッシュするかどうかのOracle OLAPによる決定方法」を参照してください。)
使用上の注意
$NATRIGGERの結果を格納またはキャッシュするかどうかのOracle OLAPによる決定方法
$NATRIGGER式が実行される際、式の実行結果である変数データをOracle OLAPが処理する方法は、$NATRIGGERプロパティを含む変数に$STORETRIGGERVALプロパティも含まれるかどうかに基づいて決定され、含まれない場合は$NATRIGGERプロパティの値がAGGREGATEファンクションであるかどうかに基づいて決定されます。
$NATRIGGER式が実行されると、Oracle OLAPでは次のプロセスに沿って処理方法が決定されます。
$NATRIGGERプロパティを含む変数に、$STORETRIGGERVALプロパティも含まれているか。含まれている場合は、Oracle OLAPは手順1aに進みます。含まれていない場合は、Oracle OLAPは手順2に進みます。
TRIGGERSTOREOKオプションの値は、YES
か、それともNO
か。YESの場合は、Oracle OLAPは手順1bに進みます。NO
の場合は、Oracle OLAPは手順2に進みます。
$STORETRIGGERVALプロパティの値は、YES
か、それともNO
か。YESの場合は、Oracle OLAPは$NATRIGGER式の結果を格納し、決定のプロセスを終了します。NO
の場合は、Oracle OLAPは$NATRIGGER式の結果を格納せず、決定のプロセスを終了します。
$NATRIGGER式はAGGREGATEファンクションか。当てはまる場合、Oracle OLAPは「集計データを格納またはキャッシュするかどうかのOracle OLAPによる決定方法」で説明されている手順に従って、$NATRIGGER式の実行結果の処理方法を決定します。当てはまらない場合、Oracle OLAPは手順3に進みます。
$NATRIGGERプロパティを含む変数には$VARCACHEプロパティも含まれるか。含まれている場合は、Oracle OLAPは手順4に進みます。含まれていない場合は、Oracle OLAPは手順5に進みます。
$VARCACHEプロパティに、DEFAULT
の値が含まれるか。含まれている場合は、手順5に進みます。含まれない場合、Oracle OLAPは$VARCACHEプロパティの値(つまりSTORE
、CACHE
またはNONE
)を使用して、$NATRIGGER式の実行結果である変数データ値の処理方法を決定し、決定のプロセスを終了します。
VARCACHEオプションの現行設定を使用して、$NATRIGGER式の実行結果である変数データ値の処理方法を決定し、決定のプロセスを終了します。
集計データを格納またはキャッシュするかどうかのOracle OLAPによる決定方法
AGGREGATEコマンドを実行すると、Oracle OLAPは代入文の結果を格納する場合と同様の方法で、常に計算結果を変数に直接格納します。ただし、AGGREGATEファンクションが実行される際、Oracle OLAPは、計算結果を直接変数に格納する場合と、セッション・キャッシュにキャッシュする場合があります。(セッション・キャッシュの詳細は、「Oracle OLAPセッション・キャッシュの概要」を参照してください。)
AGGREGATEファンクションの実行結果であるデータを格納する場所を決定するため、Oracle OLAPでは次のプロセスに沿って、集計された変数データを格納またはキャッシュするかどうかが判断されます。
現行のAGGREGATEファンクションにより使用されているaggmapの仕様に、CACHE文が含まれているか。含まれている場合は、Oracle OLAPは手順2に進みます。含まれていない場合、Oracle OLAPは手順3に進みます。
CACHE文は、CACHE DEFAULT文か。当てはまる場合、Oracle OLAPは手順3に進みます。当てはまらない場合、Oracle OLAPは集計仕様のCACHE文を使用して、計算結果である変数データの処理方法を決定し、決定のプロセスを終了します。
集計される変数には$VARCACHEプロパティが含まれるか。含まれている場合は、Oracle OLAPは手順4に進みます。含まれていない場合は、Oracle OLAPは手順5に進みます。
$VARCACHEプロパティに、DEFAULTの値が含まれるか。含まれている場合は、Oracle OLAPは手順5に進みます。含まれていない場合、Oracle OLAPは$VARCACHEプロパティの値を使用して、AGGREGATEファンクションによって計算される変数データの処理方法を決定し、決定のプロセスを終了します。
VARCACHEオプションの現行設定を使用して、AGGREGATEファンクションによって計算される変数データの処理方法を決定します。決定のプロセスが終了します。