いくつかの技法を使用して、テーブル処理操作の効率を向上させ、最適化プログラムに影響を与えることができます。 努力の成果が十分報われる可能性があります。テーブル処理操作がアプリケーションの主要部分である場合には特に当てはまります。
次の 2 つの指針は、テーブル・エレメントの参照方法の選択に影響を与えます。
コンパイラーは重複する指標や添え字を除去できますが、(たとえ添え字が BINARY であっても) テーブル・エレメントへの元の参照は、指標を使用する方がより効率的です。これは、指標の値にはすでにエレメント・サイズが加味されているのに対して、添え字の値は使用時にエレメント・サイズを乗算しなければならないためです。指標にはすでにテーブルの先頭からの変位が含まれており、実行時にこの値を計算する必要はありません。ただし、添え字の方が理解しやすく維持するのが簡単かもしれません。
相対指標参照 (つまり、符号なし数値リテラルが指標名に加えられるか、または指標名から引かれる参照) は、少なくとも直接指標参照と同じ位の速さで、時にはより高速で実行されます。オフセットを含めた代替索引を保管してもメリットはありません。
指標または添え字のいずれを使用する場合でも、以下のコーディング指針は、より良いパフォーマンスを得る助けとなります。
このようにして実行時の計算を削減もしくは除去することができます。すべての指標または添え字が可変であっても、プログラム内で互いに近接している参照に関して、右端の添え字がもっとも頻繁に変化するように、テーブルを使用してみてください。 この方法を使用すると、ストレージ参照のパターンと、ページングも改善されます。すべての指標または添え字が重複している場合、指標または添え字の計算全体が共通副次式になります。
異なるテーブルに添え字または指標を付けるときは、すべてのテーブルのエレメント長が同じ場合に、最も効率がよくなります。このように、テーブルの最後の次元のストライドは同じであり、 最適化プログラムは、1 つのテーブルで計算された右端の指標または添え字を再利用できるようになります。エレメントの長さおよび各次元での出現回数が同じである場合、最後の次元以外は、次元のストライドもまた等しくなり、その結果、添え字計算相互間の共通性はより大きくなります。最適化プログラムは、右端以外の添え字または指標を再使用することができます。
指標および添え字を妥当性検査する必要がある場合は、SSRANGE コンパイラー・オプションを使用するよりも、独自の検査をコーディングする方が速い場合があります。
以下の指針を使用して、テーブルの効率を改善することもできます。
添え字を使用してテーブルをアドレッシングする場合は、8 桁以下の BINARY 符号付きデータ項目を使用してください。さらに場合によっては、データ項目の桁数を 4 桁以下にすると、処理時間を短縮できます。
可変長項目を持つテーブルの場合は、OCCURS DEPENDING ON (ODO) のコードを改善することができます。可変長項目が参照されるたびに行われる不要な変換を避けるには、OCCURS. . . DEPENDING ON オブジェクトに BINARY を 指定してください。
可変長データ項目を使用する場合、それらの使用頻度が高くなる前に、固定長データ項目にコピーすると、オーバーヘッドを緩和することができます。
テーブルが順次に探索される場合には、検索基準を満たす可能性が最も高いデータ値を テーブルの始まりに置くようにします。テーブルが二分探索アルゴリズムを使用して探索される場合は、検索キー・フィールドに基づいてアルファベット順にソートされたテーブルに、データ値を入れてください。
関連概念
テーブル参照の最適化
関連タスク
テーブル内の項目の参照
効率的なデータ型の選択
関連参照
SSRANGE