1つのテーブルに多数のツールが保存されており、各ツールに関連付けられたトランザクションがその子テーブルに保存されています。トランザクションテーブルエントリのパフォーマンスに基づいて購入するツールを決定するアルゴリズムがあります。アルゴリズムの私の出力は、ツールの購入を推奨する場合があり、そのパフォーマンスに基づいていない場合があります。
私の最終目標は、アルゴリズムによって購入することが推奨されているツールのリストをページごとに(サーバー側のページ付けを使用して)表示することだけです。ここでの私の質問は、最初の10個のツールとそのトランザクションをフェッチし、アルゴリズムへの入力として与える場合、私のアルゴリズムはすべてのツールを購入することを推奨する場合としない場合があります。そのような場合、表示できるツールでは不十分です。現在のページ。もう一度データベースに戻って、結果が現在のページを表示するのに十分になるまで(dbの反復が多すぎる)、さらにいくつかをフェッチする必要があります。
現在、すべてをフェッチして、サーバー側で結果コレクションをキャッシュし(Ehcacheを使用)、コレクションにサーバー側のページ付けを適用しています。ただし、このページにアクセスする同時ユーザーが多すぎると、サーバーがメモリ不足になります。
この種の問題の最善の解決策は何ですか..!!?