我正在使用批量插入和准备好的语句将数据插入 Netezza。但是,性能极其缓慢。下面是我的代码:
final int batchSize = 1000;
int count = 0;
for (final MyClass object: myList) {
ps.setString(1, object.getOne());
ps.setString(2, object.getTwo());
ps.setString(3, object.getThree());
ps.setString(4, object.getFour());
ps.setString(5, object.getFive());
ps.setString(6, object.getSix());
ps.setString(7, object.getSeven());
ps.setString(8, object.getEight());
ps.setString(9, object.getNine());
ps.setString(10, object.get10());
ps.addBatch();
if(++count % batchSize == 0) {
ps.executeBatch();
}
}
ps.executeBatch(); // insert remaining records
有谁知道我怎样才能加快速度?
最佳答案
插入语句批处理不会在 Netezza
上执行,每个查询的开销将限制这些操作的效率。我建议将您的数据转储到平面文件并执行 nzload
/external table insert
有关示例,请参阅 Transient External Tables .
关于java - 极慢的 Netezza(数据库)批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33085850/