ソートマージ

[目次][用語][索引][前へ][次へ]

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

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

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

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

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

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

(凡例)
−:なし

注※
中間マージ(順序2)を実行した場合は,マージ用一時ファイルに出力したストリングを読み込みます。

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

[図データ]