SQL処理では、データをソートしたり、一度ワークにバックアップして段階的に処理を行うことがあります。このとき使用されるのがソートメモリやワークメモリです。
ソートメモリとワークメモリは、クライアントごとにクライアント用の動作環境ファイルSORT_MEM_SIZE、WORK_MEM_SIZEで指定します。
クライアント用の動作環境ファイル (ソートメモリは10メガバイト、ワークメモリは10メガバイト)
SORT_MEM_SIZE=(10000) WORK_MEM_SIZE=(10000)
SQL文の処理時に、メモリの使用量がこの値を超えたときに、作業域に作成される作業ファイルを使用しますが、作業ファイルを大量に使用すると、性能が劣化する可能性があります。
このような場合、ソートメモリやワークメモリを増やすことで、作業ファイルの使用量を少なくし、性能を改善することができます。
ソート処理や一時作業処理で使用する作業域の使用量は、以下のように見積もります。
ソートメモリサイズやワークメモリサイズは、アプリケーションの実行多重度倍のメモリを必要としますので、使用メモリ内に収まるようにそれらのサイズを選ぶことが必要です。
ソートメモリサイズとワークメモリサイズの大きさは、運用テスト時にその時点の使用サイズをチェックして、使用可能なメモリ量と実際使用のサイズとから、設定サイズを決めてください。
ソートメモリとワークメモリの使用サイズは、rdbpsコマンド(sオプション指定)で知ることができます。