データベースから取得するフォーマット情報と値を含むxmlを読み取って、ファイルを作成する必要があります。私は多数のレコード(200,000)に取り組んでいます。すべてのデータをメモリに保持しようとしましたが、メモリ不足エラーが発生しました。データベースに何度もアクセスしようとしましたが、パフォーマンスの問題が発生しました。クエリが何度もヒットすると、パフォーマンスが低下します。
プロセスに必要な手順:
- db を押して、ファイルが作成されるすべてのレコードを取得します
- Jaxbを使用してxmlファイルを読み取る
- ステップ 1 で取得したすべてのデータのマップを作成します。
- step1から取得したマップを反復する
- 手順 2 で作成したフォーマット オブジェクトから表示する必要があるデータを取得する
- 結果を各レコードの文字列に追加し、それをファイルに書き込む
ただし、最終的には、事前定義された数のデータを1回読み取り、これに対してファイルを書き込んでから、次の束に取り組むことでこれを解決しました。しかし、私はこのための設計パターンに従っていません。
最小限のメモリを使用し、効率的にファイルを書き込める設計パターンはありますか?