私の目標は、実際にはデータベースのすべてのデータを XML ファイルにダンプすることです。データベースはそれほど大きくなく、約 300MB です。問題は、(JVM で) 256MB のメモリ制限しかないことです。したがって、明らかに、すべてをメモリに読み込むことはできません。
この問題は、iBatis (はい、myBatis ではなく iBatis を意味します) を使用して、incremented を使用してgetList(... int skip, int max)
複数回呼び出すことで解決できskip
ました。これでメモリの問題は解決しますが、速度には感銘を受けません。変数名は、メソッドがフードの下で行うことは、結果セット全体をスキップしてから指定されたレコードを読み取ることであることを示唆しています。これは私にはかなり冗長に思えます (メソッドがそうしていると言っているわけではありません。変数名に基づいて推測しているだけです)。
さて、アプリケーションの次のバージョンのために myBatis 3 に切り替えました。私の質問は: myBatis でチャンクごとに大量のデータを処理するより良い方法はありますか? myBatis で最初の N レコードを処理し、結果セットの接続を開いたまま呼び出し元に返す方法はありますか「スキップ」?