8.1 サーバー側結果セット・キャッシュ

サーバー側結果キャッシュは、現在の問合せ、問合せフラグメントおよびPL/SQLファンクションの結果をメモリーにキャッシュするために使用されます。キャッシュされた結果は、問合せ、問合せフラグメントまたはPL/SQLファンクションで将来使用されます。

キャッシュした結果はSGAの結果キャッシュ・メモリー部分に保持されます。作成に使用されたデータベース・オブジェクトが正常に変更されると、キャッシュ結果は自動的に無効化されます。サーバー側結果セット・キャッシュの構成の詳細は、結果キャッシュのチューニングを参照してください。

True Cacheでサーバー側結果キャッシュを有効にするには:

  1. プライマリ・データベースで、ご自分の問合せが問合せ結果キャッシュの利用の対象であることを確認します。

    問合せが結果キャッシュの対象になるには、それが特定の要件を満たしている必要があります。「結果キャッシュの要件」を参照してください。

  2. プライマリ・データベースで、表の問合せ結果をTrue Cacheの結果キャッシュに格納できるようにします。

    ALTER TABLE table_name RESULT_CACHE (STANDBY ENABLE);
  3. True Cacheで、その結果キャッシュがその表に対する問合せに機能していることを確認します。

    SELECT /*+ RESULT_CACHE */ DISTINCT(column_name) FROM table_name;
  4. True Cacheにおける問合せ結果キャッシュがプライマリ・データベースにおいてと同じ動作になるようにするには、両方で問合せ結果キャッシュのサイズが同一になるように構成します。

    具体的には、プライマリ・データベースとTrue Cacheの両方で、RESULT_CACHE_MAX_SIZEを同じ値(また、0より大きい値)に設定します。結果キャッシュ・サイズが問合せ結果セットより小さい場合、データベースによって物理読取りが使用されます。

サーバー側結果セット・キャッシュのサポートは、DBCA ThinドライバとDBCA Oracle Call Interface (DBCA OCI)ドライバの両方で利用できます。