>212
これってどのくらいのレベルが想定ですか?
最大1000万レコードというあたりが、初学者向けとは思え無いので確認したいのです。

ちょろっと1000万レコード生成と読み込み処理だけコーディングしてみたけど、
IOの時間だけでも結構かかります。前データをオンメモリに展開すると250メガくらい
になります。
最近のPCではこのくらいは屁でもないですが、そこは富豪的アプローチでOK?

これが最大1000レコードで各教科100点満点なら初学者向けだと思います。
1000万レコード、999点満点となると、オーバーフローを気にしなきゃならなくなるので、
かなり注意が必要です。

と思って面倒そうだから見てたけど、どうでしょ>212さん。