!--a11y-->

論理データベースに加えた変更は、このデータベースを使用するすべてのプログラム上ですぐに表示可能になります。このため、こうしたすべてのプログラムに対する Open SQL 文のパフォーマンスチューニングを、1 つの場所で実行できます。パフォーマンスを改善するための 1 つの方法は、ユーザに、論理データベースから読み込むべきデータを正確に指定させることです。
パフォーマンスの改善には、以下の方法を使用できます。
キ 選択画面上に静的な選択基準およびパラメータを表示。これに対し、論理データベースで定義されたデフォルト値および値一覧を表示することもできます。
キ 動的選択
キ 検索ヘルプ
キ ABAP ディクショナリビュー、またはデータベースの読込量を最小限に抑えるその他の方法
キ 早期の権限チェック- データ選択中ではなく、選択画面処理中のチェックが望ましい
実行できる手段は、読込対象のデータの種類に大きく依存するため、論理データベースを最適化するための厳格な規則はありません。したがって、以下は、論理データベースを最適化するために注意すべき一般的なポイントです。
キ 構造のさまざまなレベルにおいて、テーブル内容の数値的な関係は非常に重要です。
たとえば、構造内のあるレベルにおけるデータベーステーブルの 1 行に、次のレベルの 1 行だけが含まれている場合 (ケース A) に対し、1 行に次のレベルの 100 行または 1000 行が含まれている場合 (ケース B) では、別の最適化手段をとる方が、効果が高い場合があります。
ケース A では、データベースビューを使用することで応答時間を改善できます。
ケース B では、内部テーブルを使用することができます。この場合、データベースの読み込むデータは、内部テーブルに格納されます。この内部テーブルは、論理データベース内で処理できます。また、結合やカーソル処理を使用することもできます。
キ アプリケーションプログラムの中には、論理データベースの一部の構造しか使用しないものもあれば、全ノードを使用するものもあります。この場合は、個々のレポート実行のパフォーマンスを改善するために、以下のオプションを使用できます。
- 論理データベースプログラム内で、GET_EVENTS テーブルを使用できます。論理データベースを使用する実行可能プログラムを生成すると、このテーブルには、構造内の各ノードについての情報、および対応する GET 文がプログラム内に含まれるかどうかの情報が保持されます。
- 論理データベースの選択では、次の文を使用する必要があります。
SELECTION-SCREEN FIELD SELECTION FOR NODE|TABLE <node>.
この文により、適切なすべてのノード <node> に対する項目選択が有効になります。これで、対応する SELECT 文で項目一覧を使用でき、行全体を読み込む必要がなくなります。