プロパティ | 説明 |
---|---|
パラメータ・タイプ | 整数 |
デフォルト値 | デフォルト値は、効率的に実行できる最大I/Oサイズと一致し、プラットフォームによって異なる。 |
変更の可/不可 | ALTER SESSION 、ALTER SYSTEM |
値の範囲 | オペレーティング・システム依存 |
基本/基本以外 | 基本以外 |
DB_FILE_MULTIBLOCK_READ_COUNT
は、表スキャン中に、I/Oを最小化するために使用できるパラメータの1つです。これには、順次スキャン中に1回のI/O操作で読み込むブロックの最大数を指定します。全表スキャンの実行に必要なI/Oの合計数は、表のサイズ、マルチブロックREAD件数などの条件、およびパラレル実行が操作に対して使用可能な状態になっているかどうかによって異なります。
Oracle Database 10gリリース2の時点で、このパラメータのデフォルト値は効率よく実行できる最大I/Oサイズに対応する値です。この値はプラットフォームによって異なり、ほとんどのプラットフォームでは1MBです。パラメータはブロック単位で表されるため、効率的に実行できる最大I/Oサイズを標準ブロック・サイズで除算した値に設定されます。セッション数が非常に大きい場合は、表スキャン・バッファが多すぎるためにバッファ・キャッシュがあふれることがないように、マルチブロック読取り回数の値が減らされます。
デフォルト値が大きい値であっても、このパラメータを設定しない場合、オプティマイザは大きいプランを推奨しません。オプティマイザによって大きいプランが推奨されるのは、このパラメータを明示的に大きい値に設定した場合のみです。
オンライン・トランザクション処理(OLTP)環境とバッチ環境では、通常、このパラメータ値は4から16の範囲内です。DSSおよびデータ・ウェアハウス環境では、このパラメータの最大値を設定することで、最高のパフォーマンスを得ることができます。このパラメータ値が高く設定された場合、オプティマイザは索引の全表スキャンを選択することがよくあります。
この最大値は、Oracleブロック数(最大I/Oサイズ/DB_BLOCK_SIZE
)で示すオペレーティング・システムの最大I/Oサイズです。このパラメータを最大値よりも大きい値に設定すると、最大値が使用されます。
関連項目:
|