FLUSH FEDERATED CACHE ステートメント

FLUSH FEDERATED CACHE ステートメントは、フェデレーテッド・キャッシュをフラッシュします。これにより、次回、フェデレーテッドの 3 部構成の名前を使用してリモート表またはリモート・ビューに対して SQL ステートメントを発行するときに、新しいメタデータを取得できます。

フェデレーテッドの 3 部構成の名前を使用してリモート表またはリモート・ビューに対して SQL ステートメントを発行すると、 そのリモート表またはリモート・ビューが初めて参照される場合であれば、そのリモート・オブジェクトのメタデータおよび統計が取得され、フェデレーテッド・キャッシュに保存されます。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 このステートメントは、動的に作成できる実行可能ステートメントです。

許可

このステートメントの許可 ID が持つ特権には、SQLADM 権限または DBADM 権限のいずれかが含まれている必要があります。

構文

Read syntax diagramSkip visual syntax diagramFLUSH FEDERATED CACHE FOR ALLFORremote-object-namedata-source-name.schema-name.*data-source-name.*.*SERVERdata-source-name

説明

FOR ALL
すべてのデータ・ソースのすべてのオブジェクトについて、フェデレーテッド・キャッシュ情報をフラッシュします。 これがデフォルトです。
FOR リモート・オブジェクト名
特定のリモート表またはリモート・ビューについて、フェデレーテッド・キャッシュ情報をフラッシュします。
FOR data-source-name.schema-name.*
data-source-name で指定した特定のデータ・ソースの schema-name で指定したスキーマに含まれるすべてのオブジェクトについて、フェデレーテッド・キャッシュ情報をフラッシュします。
FOR データ・ソース名. * .*
data-source-name で指定した特定のデータ・ソースのすべてのオブジェクトについて、フェデレーテッド・キャッシュ情報をフラッシュします。
FOR SERVER データ・ソース名
data-source-name で指定した特定のデータ・ソースのすべてのオブジェクトについて、フェデレーテッド・キャッシュ情報をフラッシュします。

  • パッケージの無効化: フェデレーテッド・キャッシュをフラッシュすると、3 部構成の名前に依存するパッケージが無効化されます。 無効化されたパッケージは、そのパッケージに含まれるステートメントが実行されるたびに再コンパイルする必要があるため、この操作はパフォーマンスに影響を与える可能性があります。
  • ビューの無効化: フェデレーテッド・キャッシュをフラッシュしても、3 部構成の名前に依存するビューは無効化されません。 ビューが次回使用される際に、暗黙的に再有効化されます。 リモート・オブジェクトに変更が加えられた場合は、ビューを使用するステートメントがエラーを返す可能性があります。

  • 例 1: データ・ソース rudb にあるリモート・スキーマ名 rschema のリモート表名 t1 について、フェデレーテッド・キャッシュ情報をフラッシュします。
    FLUSH FEDERATED CACHE FOR rudb.rschema.t1
  • 例 2: データ・ソース rudb にあるリモート・スキーマ名 rschema に含まれるすべてのオブジェクトについて、フェデレーテッド・キャッシュ情報をフラッシュします。
    FLUSH FEDERATED CACHE FOR rudb.rschema.*
  • 例 3: データ・ソース rudb のすべてのオブジェクトについて、フェデレーテッド・キャッシュ情報をフラッシュします。
    FLUSH FEDERATED CACHE FOR rudb.*.*
    この構文の代替構文は、次のようになります。
    FLUSH FEDERATED CACHE FOR SERVER rudb