!--a11y-->

結果セットを小さく保つようにします。これにより、データベースシステムで使用されるメモリ量と、アプリケーションサーバへデータを転送するときのネットワーク負荷の両方が削減されます。結果セットのサイズを縮小するには、WHERE および HAVING 句を使用します。
データベーステーブルにアクセスする際には、必ず対応するオープン SQL 命令で WHERE 句を使用します。WHERE 句のない SELECT 命令を含むプログラムがテストで良好なパフォーマンスをしても、データ量が日々増加する本稼働システムではすぐに速度が低下する可能性があります。命令を実行するたびにデータベーステーブルの全内容がどうしても必要となる例外的な場合にかぎり、WHERE 句を省略してください。
WHERE 句を使用すると、データベースシステムではアクセスが最適化され、必要なデータだけが転送されます。不要なデータをアプリケーションサーバに転送して、ABAP 命令を使用してフィルタしないようにします。
必要な行を WHERE 句で選択した後、GROUP BY 句があれば処理され、選択したデータベース行が集計されます。HAVING 句は、追加条件を適用して、グループ化された行と、特に集合式を制限します。
WHERE および HAVING 句を適切に使用した場合、以下の効果があります。
キ データベースで不要な I/O がなくなる
キ 不要なデータがデータベースキャッシュに保存されない ( 保存されると本当に必要なデータが置き換えられてしまいます)
キ データベースホストの CPU 使用量が最小限になる
キ アプリケーションで必要なデータだけがアプリケーションサーバに転送されるため、ネットワーク負荷が軽減される