質問

・テキストファイルに1行1レコードでかかれたリストが処理対象。
・各レコードにはIDが割り当てられていて、同一内容のレコードは同一のIDを持つ。
・同一IDのレコードが複数のファイルに分散しているので、それが重複しないよう
 に1ファイルにまとめ、テキストファイルとして出力したい。

このようなファイルを読み込んで
[input_A.txt]
200
100
[input_B.txt]
300
100

次の出力をえる処理です。
[output.txt]
200
100
300

処理量は、出力の output.txt のデータサイズで数十万レコード、100Mオーダー
になります。

現在はIDをキーとしたハッシュに全入力レコードを読み込み重複レコードをぶい
たあと、順番に出力しているのですが、当然ながらメモリ消費がはげしく、
スワップが多発している状態です。

そこでより効率的な方法がないでしょうか、というのが質問です。

やはり SQLite などの DB に頼るのが無難でしょうか?