[ |../../index.htm#lansa/l4wdev05_0165.htm]
現在地:

4.3.9 KEEP_LASTパラメータの適用

前節に示した最初のプログラムは、FETCHコマンドにKEEP_LASTパラメータを指定するだけでも、「さらに最適化した例」に匹敵する処理性能が得られます。
GROUP_BY   NAME(#TRANS) FIELDS(#TRANNUM #TRANDATE #TRANTIME             #TRANTYPE #TRANDESC #TRANUSER #TRANSTATE #STATDESC) SELECT     FIELDS(#TRANS) FROM_FILE(TRANS) FETCH      FIELDS(#TRANS) FROM_FILE(STATES)             WITH_KEY(#TRANSTATE) KEEP_LAST(6)  FETCH      FIELDS(#TRANS) FROM_FILE(TRNTYP)             WITH_KEY(#TRANTYPE) KEEP_LAST(20) UPRINT     FIELDS(#TRANS) ENDSELECT
 
TRANSファイルに例えば状態コードが3通り、取引タイプが5通り現れるとすれば、1万のレコードがあっても、データベースには、(10000 + 3 + 5) = 10008回アクセスすればよいことになります。これは19992回分の入出力処理の削減に相当します。したがって実行時間は約3分の1になりました。
KEEP_LASTパラメータについて詳しくは、FETCHコマンドの説明を参照してください。
[ |../../index.htm#lansa/l4wdev05_0165.htm]