COBOL2002 ユーザーズガイド
![[目次]](FIGURE/CONTENT.GIF)
![[用語]](FIGURE/GLOSS.GIF)
![[索引]](FIGURE/INDEX.GIF)
![[前へ]](FIGURE/FRONT.GIF)
6.9.7 プログラム作成時の留意点
HiRDBによる索引編成ファイルを使用するプログラムで,処理速度の速いプログラムを作成する場合の留意点を示します。
- 動的アクセス(DYNAMIC)を使用しない
- 理由
- 動的アクセスでKEY指定のREAD文を実行すると,該当レコードの読み込みと同時に以降のレコードの読み込み準備をするため,処理に時間が掛かります。
- 対策
- KEY指定のREAD文で読み込んだレコードの次のレコードを読み込む必要がなければ,乱アクセス(RANDOM)でのKEY指定のREAD文を使用してください。乱アクセスでのKEY指定のREAD文を使用すると,以降のレコードの読み込み準備が不要なため,処理時間を短縮できます。
- I-Oモードでファイルを開かない
- 理由
- I-Oモードでファイルを開くと,更新を前提とするSQL文でRDBアクセスが行われるため,処理に時間が掛かります。
- 対策
- DELETE文,REWRITE文,またはWRITE文でレコードを更新する必要がない場合は,INPUTモードでファイルを開いてください。更新を前提としないSQL文でRDBにアクセスできるので,処理時間を短縮できます。
- START文を使用しない
- 理由
- START文を使用すると,該当するキー条件に一致するデータを検索したあと,NEXT指定のREAD文でレコードを読み込めるように,以降のレコードの読み込み準備をするため,処理に時間が掛かります。
- 対策
- START文およびNEXT指定のREAD文でのレコードの読み込みをKEY指定のREAD文で代替できる場合は,KEY指定のREAD文を使用してください。KEY指定のREAD文を使用すると,以降のレコードの読み込み準備が不要なため,処理時間を短縮できます。
- キーに使用する項目(列)を一つにする
- 理由
- 複数のキーを使用して入出力をすると,それぞれのキーで関連づけをするため,OPEN文,START文実行後の最初のREAD文,およびKEY指定のREAD文の処理に時間が掛かります。
- 対策
- 使用するキーの数を減らしてください。データの関連づけに掛かる時間を短縮できます。
- 環境変数CBLD_ファイル名=RDBOPURGEまたは環境変数CBLRDBOPURGE=YESを指定する
- 理由
- ファイルをOUTPUTモードでオープンする場合,ファイル中のすべてのデータが削除されます。このとき,多量のデータがあると,データの削除に時間が掛かります。
- 対策
- ファイルをOUTPUTモードでオープンする場合は,環境変数CBLD_ファイル名=RDBOPURGEまたは環境変数CBLRDBOPURGEにYESを指定してください。データを削除するために内部的に発行するSQL文にPURGE TABLEを使用することで削除の時間を短縮することができます。
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.