OPEN CURSOR へのソートの影響
カーソルが必要とするソート処理のタイプは、Db2がOPEN CURSORステートメントを処理するのにかかる時間の長さに影響を与えます。
この情報は、OPEN CURSORに対する効果の種類と並列処理について概説しています。
並列処理なし:
- ソートが必要ない場合、OPEN CURSOR はデータをアクセスしません。 データが戻されるのは最初のフェッチになります。
- ソートが必要な場合、OPEN CURSOR によってマテリアライズ結果表が作成されます。 結果表がマテリアライズ された後、制御がアプリケーションに戻ります。 ソートが必要なカーソルがクローズされて再オープンされた場合、ソートが再び実行されます。
- RID ソートが実行されるにもかかわらず、データ・ソートは実行されない場合、RID リストが索引から作成され、 最初のデータ・レコードが戻されるのは、最初の行がフェッチされた後です。 後続のフェッチでは、次のデータ・レコードをアクセスするために RID プールをアクセスします。
並列処理あり:
- OPEN CURSOR の時点で、ソートが必要かどうかに関係なく、並列処理が非同期に開始されます。 並列処理の作業が開始された直後に、制御がアプリケーションに戻ります。
- RID ソートが実行され、データ・ソートは実行されない場合、並列処理は、最初のフェッチが
行われるまで開始されません。 これは、並列処理がない場合と同じように機能します。