803じゃないけど、

10〜20個くらいのプロパティを持つクラス(ほとんどstring型)の、数百万個単位のインスタンスを処理したい
(現在百数十万個だがデータは日々増えていて、将来的には500万個以上のデータを扱いたい)
データ追加時を除けば1つのデータのプロパティを書き換えることはあまりない
全データを対象に集計や抽出をバリバリやる

今はこのクラスのジェネリックリストでメモリ上に保持していて、XmlSerializerとStreamReader/Writerでロード/セーブしてるけど、
500MB以上のファイル読み書きに十秒単位で時間が掛かるようになってきてしまい、使用メモリも多いときは1GBに届きそうになってきた

個人のPCでも実現出来る範囲で何か工夫して軽量化するとすれば、どういうやり方があるだろうか
データベースを使うと却って重くなる?