自動リフレッシュを使用する動的キャッシュ・グループのロードおよびリフレッシュ
動的キャッシュ・グループの自動リフレッシュ状態がPAUSED
の場合、特定のイベントが発生すると、自動リフレッシュ状態は自動的にON
に変更されます。
-
そのキャッシュ表は当初空であり、その後、キャッシュ・グループに対して発行された動的ロード、
LOAD CACHE GROUP
文または無条件のREFRESH CACHE GROUP
文が完了します。 -
そのキャッシュ表は空ではなく、その後、キャッシュ・グループに対して発行された無条件の
REFRESH CACHE GROUP
文が完了します。
動的キャッシュ・グループの自動リフレッシュ状態がPAUSED
である場合、次のイベントのいずれかが発生すると、自動リフレッシュ状態はPAUSED
のままとなります。
-
そのキャッシュ表は当初空であり、その後、キャッシュ・グループに対して発行された
REFRESH CACHE GROUP ... WITH ID
文が完了します。 -
そのキャッシュ表は空ではなく、その後、キャッシュ・グループに対して発行された動的ロード、
REFRESH CACHE GROUP ... WITH ID
文またはLOAD CACHE GROUP
文が完了します。
動的キャッシュ・グループの場合、自動リフレッシュ処理は、キャッシュ表の既存のキャッシュ・インスタンスのみがリフレッシュされるため、最後の自動リフレッシュ・サイクル以降にキャッシュされたOracle Database表でコミットされた更新および削除のみをキャッシュ表にリフレッシュするREFRESH CACHE GROUP
文と似ています。新しいキャッシュ・インスタンスはキャッシュ表にロードされません。新しいキャッシュ・インスタンスを動的キャッシュ・グループのキャッシュ表にロードするには、LOAD CACHE GROUP
文を使用するか、または動的ロード処理を実行します。「動的キャッシュ・グループ」を参照してください。
自動リフレッシュを使用する動的キャッシュ・グループを手動でロードまたはリフレッシュする場合は、次の制限が適用されます。
-
LOAD CACHE GROUP
文を発行するには、自動リフレッシュ状態がPAUSED
またはON
になっている必要があります。 -
REFRESH CACHE GROUP
文を発行するには、自動リフレッシュ状態がPAUSED
になっている必要があります。 -
WHERE
句を含むLOAD CACHE GROUP
文には、WHERE
句の後にCOMMIT EVERY
n
ROWS
句が含まれている必要があります。 -
REFRESH CACHE GROUP
文にWHERE
句を含めることはできません。 -
キャッシュ・グループのロード時に
WHERE
句で参照されるすべての表および列は、完全修飾されている必要があります。たとえば、次のようにします:owner
.
table_name
andowner
.
table_name
.
column_name