使用spring jdbctemplate将大量数据加载到sybase

时间:2015-06-17 03:34:00

标签: spring jdbctemplate apache-commons-dbcp

我是春天的新人。我正在处理批处理作业,该作业将数据从csv文件加载到sybase表。输入文件超过5GB&有几百万条记录。

我正在使用spring jdbctemplate进行批量更新。以下是我的代码段。

 public int[] batchUpdate(final CsvReader products) throws IOException,
        SQLException {
    int[] updateCounts = getJdbcTemplate().batchUpdate(sqlStatement,
            new AbstractInterruptibleBatchPreparedStatementSetter() {
                @Override
                public boolean setValuesIfAvailable(PreparedStatement pstmt, int i)
                        throws SQLException {

                    // logic to set the values to prepared statement etc...

                                    @Override
                public int getBatchSize() {
                    return batchSize;
                }
            });
            }
}

我正在使用apache dbcp datasource。我将batchsize设置为2000.我没有更改自动提交等默认值中的任何其他内容。

现在,当我运行这个工作时...平均需要4.5分钟才能插入2000条记录&这项工作运行了2天(还没有完成)。

有人可以建议如何优化它吗?提前谢谢。

0 个答案:

没有答案