1.11.1 ソート機能の処理の流れ

ソート機能の処理には,指定されたワークバッファのサイズにより次の二つの方式があります。

ソートの処理は,次の三つのフェーズで構成されます。

ソート処理では,三つのフェーズを順次実行します。ただし,インコアソートの場合,中間マージフェーズはありません。各フェーズの処理の概要を次に示します。

表1-2 ソート機能の処理の概要

フェーズインコアソートアウトコアソート
順序処理概要順序処理概要
ソート1入力ファイルからレコードを読み込み,ワークバッファ上でソートキーを比較する。1入力ファイルからレコードを読み込み,ワークバッファ上でソートキーを比較し,指定された順序に整列したレコードの集合(ストリング)をソート用一時ファイルへ書き出す。
中間マージ2ソートフェーズで作成したストリングがワークバッファに入らない場合に動作する処理。ソート用一時ファイルのストリングをワークバッファ上に読み込み,ワークバッファに入るストリング数になるまでマージする。マージしたストリングは,マージ用一時ファイルへ書き出す。
最終マージ2ワークバッファ上のレコードを,指定された順序に整列して出力ファイルへ書き出す。3ソート用一時ファイルのストリングをワークバッファ上に読み込み,一つのストリングにマージして,出力ファイルへ書き出す。
(凡例)
-:なし
注※
中間マージ(順序2)を実行した場合は,マージ用一時ファイルに出力したストリングを読み込みます。

図1-10 ソート機能の処理の流れ

[図データ]