private void storeResult(ArrayList<DensityEntry> result, String resultTable) throws SQLException { DBUtility.createDensityTable(connection, resultTable); String sql = "INSERT INTO " + resultTable + " (id,density,e_dist) values(?,?,?)"; PreparedStatement pStmt = connection.prepareStatement(sql); ((PGStatement) pStmt).setPrepareThreshold(1000); for (DensityEntry entry : result) { pStmt.setInt(1, entry.getId()); pStmt.setInt(2, entry.getDensity()); pStmt.setDouble(3, entry.getEDist()); pStmt.executeUpdate(); } connection.commit(); // finally create the index DBUtility.createDensityTable_Index(connection, resultTable); }