fr = new FileReader(writeFilePath);
br = new BufferedReader(fr);
while ((Line = br.readLine()) != null) {
st1 = new StringTokenizer(Line, "\t");
selectedCodeList = new String[st1.countTokens()];
i = 0;
while (st1.hasMoreTokens()) {
oneCode = st1.nextToken().trim();
selectedCodeList[i] = oneCode;
i++;
} arg0 = selectedCodeList[0].trim(); arg1 = selectedCodeList[1].trim();
arg2 = selectedCodeList[2].trim();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, arg0);
pstmt.setString(2, arg1);
pstmt.setString(3, arg2);
pstmt.executeUpdate();
pstmt.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
fr = null;
br = null; }
我要插入几十万数据,上面的语句感觉效率很慢。请各位高手指点。谢谢。
br = new BufferedReader(fr);
while ((Line = br.readLine()) != null) {
st1 = new StringTokenizer(Line, "\t");
selectedCodeList = new String[st1.countTokens()];
i = 0;
while (st1.hasMoreTokens()) {
oneCode = st1.nextToken().trim();
selectedCodeList[i] = oneCode;
i++;
} arg0 = selectedCodeList[0].trim(); arg1 = selectedCodeList[1].trim();
arg2 = selectedCodeList[2].trim();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, arg0);
pstmt.setString(2, arg1);
pstmt.setString(3, arg2);
pstmt.executeUpdate();
pstmt.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
fr = null;
br = null; }
我要插入几十万数据,上面的语句感觉效率很慢。请各位高手指点。谢谢。
只是建议,仅供参考。
你不要把这个关闭掉,还有,要把默认提交关闭,用手动提交的方式,当全部插入完成以后再提交。
不关闭,会发生异常java.lang.OutOfMemoryError: Java heap space
把默认提交关闭是怎么关闭的?
1,把txt文件内容抽出写成insert语句的形势。批处理。