2.312 RESULT_CACHE_MODE

RESULT_CACHE_MODEでは、結果キャッシュに格納する対象になる問合せを指定します。結果キャッシュ演算子が指定されている問合せ計画のみが、結果キャッシュに対する読取りまたは書込みを試行します。

特性 説明

パラメータ・タイプ

文字列

構文

RESULT_CACHE_MODE = { MANUAL | MANUAL_TEMP | FORCE | FORCE_TEMP }

デフォルト値

MANUAL

変更可能

ALTER SESSIONALTER SYSTEM

PDBで変更可能

はい

基本

いいえ

Oracle RAC

複数インスタンスには、異なる値を指定可能。

値:

  • MANUAL

    問合せヒントまたは表注釈を使用した場合のみ問合せの結果を結果キャッシュに格納できます。

  • MANUAL_TEMP

    問合せヒントまたは表注釈を使用した場合のみ問合せの結果を結果キャッシュに格納できます。ヒント付きのすべての問合せは、/*+ RESULT_CACHE (TEMP=FALSE) */ヒントを使用して明示的に禁止されていないかぎり、ディスクの一時セグメントを活用できます。

  • FORCE

    すべての問合せ結果が、結果キャッシュに格納されます。結果がキャッシュ内に存在しない場合、データベースは問合せを実行して結果をキャッシュに格納します。それ以降の同じSQL文の実行では、その文に/*+ RESULT_CACHE */ヒントが含まれていると、キャッシュからデータが取得されるようになります。セッションでは、そうした結果が使用されます(可能な場合)。キャッシュからの問合せ結果を除外するには、/*+ NO_RESULT_CACHE */ヒントを使用します。

  • FORCE_TEMP

    すべての問合せ結果が、結果キャッシュに格納されます。すべての問合せは、ヒントによって明示的に禁止されていないかぎり、ディスクの一時セグメントを活用できます。

ノート:

FORCEモードとFORCE_TEMPモードは、データベースおよびクライアントが問合せのすべてをキャッシュしようとして、パフォーマンスとラッチの多大なオーバーヘッドが発生するためお薦めできません。さらに、確定的でないPL/SQLファンクションを呼び出す問合せもキャッシュされるため、そのように対象範囲が広い場合の結果キャッシュは、大幅に結果を変える原因になる可能性があります。

関連項目: