ソートマージ
ソート機能の処理には,指定されたワークバッファのサイズにより次の二つの方式があります。
ソートの処理は,次の三つのフェーズで構成されます。
ソート処理では,三つのフェーズを順次実行します。ただし,インコアソートの場合,中間マージフェーズはありません。各フェーズの処理の概要を次に示します。
表1-2 ソート機能の処理の概要
フェーズ | インコアソート | アウトコアソート | ||
---|---|---|---|---|
順序 | 処理概要 | 順序 | 処理概要 | |
ソート | 1 | 入力ファイルからレコードを読み込み,ワークバッファ上でソートキーを比較する。 | 1 | 入力ファイルからレコードを読み込み,ワークバッファ上でソートキーを比較し,指定された順序に整列したレコードの集合(ストリング)をソート用一時ファイルへ書き出す。 |
中間マージ | − | − | 2 | ソートフェーズで作成したストリングがワークバッファに入らない場合に動作する処理。ソート用一時ファイルのストリングをワークバッファ上に読み込み,ワークバッファに入るストリング数になるまでマージする。マージしたストリングは,マージ用一時ファイルへ書き出す。 |
最終マージ | 2 | ワークバッファ上のレコードを,指定された順序に整列して出力ファイルへ書き出す。 | 3 | ソート用一時ファイル※のストリングをワークバッファ上に読み込み,一つのストリングにマージして,出力ファイルへ書き出す。 |
図1-10 ソート機能の処理の流れ
All Rights Reserved. Copyright (C) 2008, 2016, Hitachi, Ltd.