テキスト ファイルを読み込んで、各行をリストに追加しようとしています。リストは、データベースにレコードを挿入するために準備されたステートメントで使用されます。問題は、1000000 件のレコードがある場合、実行が遅くなりすぎて、メモリ不足エラーが発生することがあります。
私のコード
while ((sRec = in.readLine()) != null) {
myCollection.add(reversePad(sRec, hmSizeLookup, colLength, tableName));
a = Utility.getPositions(sRec, hmSizeLookup, colLength);
i = i + 1;
}
for (int j = 0; j < a.length; j++) {
Field f = (Field) hmSizeLookup.get(String.valueOf(j));
sAllFields += f.getColumnName();
if (j < a.length) {
sValues += "?";
}
if (j < a.length - 1) {
sValues += ",";
sAllFields += ",";
}
}
sQ = "insert into " + tableName + "(" + sAllFields + ") values(" + sValues + ")";
ds1.executePreparedStatement(sQ, myCollection);
テキスト ファイルから一度に 1000 行しか読み取らず、挿入操作を実行する必要があるのはなぜですか? これは、テキスト ファイルの最後まで続く必要があります。
任意の提案をいただければ幸いです。
ありがとう