使用JDBC插入数据的最快方法

时间:2016-11-11 20:03:21

标签: java sql oracle jdbc

我应该对我的应用程序进行压力测试,我需要在表中提供6000万条记录。我正在遵循的方法是,首先我正在初始化 Connection 类的实例,然后使用该连接通过 PreparedStatement 使用for循环插入数据,并且每次500行插入我正在提交连接并重置它。

使用此功能,我每分钟可以插入约150条记录。我只是想知道是否有更优化的方式来执行它,以便执行所需的时间最少

1 个答案:

答案 0 :(得分:2)

使用jdbc批量插入:

PreparedStatement ps = conn.prepareStatement(sql);
int count = 0;
for(loop construct here) {
    count++;
    ps.setString(1,someString);
    // ... and so forth
    ps.addBatch();

    if (count%500 ==0)
        ps.executeBatch()
}
ps.executeBatch();