COBOL2002 ユーザーズガイド


11.5.1 処理時間の短縮

〈この項の構成〉

(1) メモリサイズと処理時間

メモリサイズと処理時間との間には,メモリサイズが大きいほど処理時間が短くなるという関係があります。しかし,実際には,設定したメモリサイズがソート実行時に使用されるメモリよりも著しく大きいと,逆に処理時間が掛かることがあります。したがって,メモリサイズを指定するときは,レコード件数,レコード長,キー長,および実メモリサイズを考慮し,適切な値にする必要があります。

メモリサイズと処理時間との関係を次に示します。

図11‒1 メモリサイズと処理時間との関係

[図データ]

メモリサイズが1.で示す値より小さいとき,何度かソートを繰り返すため,処理時間は長くなります。

メモリサイズが3.で示す値以上のとき,一時ファイルを使用しなくてもソートできるため,処理時間は短くなります。ただし,データ件数が多過ぎると,逆に処理時間が長くなったり,処理できなかったりする場合があります。

通常メモリサイズは,1.で示す値と3.で示す値の間の値を設定します。その場合の目安は,2.で示す値です。1.で示す値以上で,3.で示す値未満の値では,2.で示す値より大きな値を設定しても処理時間は短くなりません。

(2) キー属性の指定

キー属性が文字の場合,数字の場合と比べてソート処理の効率が向上します。したがって,ファイル設計時にはキーとなる部分の属性を文字にしておくとソート処理の時間を短くできます。

(3) WITH DUPLICATES指定

SORT文にWITH DUPLICATES指定をしない方がソート処理の時間を短くでき,また,作業ファイルの容量も小さくて済みます。