2.81 DB_FILE_MULTIBLOCK_READ_COUNT

DB_FILE_MULTIBLOCK_READ_COUNTには、順次スキャン中に1回のI/O操作で読み込むブロックの最大数を指定します。

特性 説明

パラメータ・タイプ

整数

デフォルト値

デフォルト値は、効率的に実行できる最大I/Oサイズと一致し、プラットフォームによって異なる。

変更可能

ALTER SESSIONALTER SYSTEM

PDBで変更可能

はい

値の範囲

オペレーティング・システムによって異なる。

基本

いいえ

DB_FILE_MULTIBLOCK_READ_COUNTは、表スキャン中に、I/Oを最小化するために使用できるパラメータの1つです。全表スキャンの実行に必要なI/Oの合計数は、表のサイズ、マルチブロックREAD件数などの条件、およびパラレル実行が操作に対して使用可能な状態になっているかどうかによって異なります。

このパラメータのデフォルト値は効率よく実行できる最大I/Oサイズに対応する値です。この値は、プラットフォームに依存し、ほとんどのプラットフォームで1MBになります。

パラメータはブロック単位で表されるため、効率的に実行できる最大I/Oサイズを標準ブロック・サイズで除算した値に設定されます。セッション数が非常に大きい場合は、表スキャン・バッファが多すぎるためにバッファ・キャッシュがあふれることがないように、マルチブロック読取り回数の値が減らされます。

デフォルト値が大きい値であっても、このパラメータを設定しない場合、オプティマイザは大きいI/Oを推奨しません。大きいI/Oが推奨されるのは、このパラメータを明示的に大きい値に設定した場合のみです。

オンライン・トランザクション処理(OLTP)環境とバッチ環境では、通常、このパラメータ値は4から16の範囲内です。DSSおよびデータ・ウェアハウス環境では、このパラメータの最大値を設定することで、最高のパフォーマンスを得ることができます。このパラメータ値が高く設定された場合、オプティマイザは索引の全表スキャンを選択することがよくあります。

この最大値は、Oracleブロック数(最大I/Oサイズ/DB_BLOCK_SIZE)で示すオペレーティング・システムの最大I/Oサイズです。このパラメータを最大値よりも大きい値に設定すると、最大値が使用されます。

関連項目:

このパラメータをどのように誤って設定すると一部の実行計画に対して過剰なI/O待機が発生するかについては、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。