У меня есть сценарий загрузки от 40 миллионов до 100 миллионов записей в одном триггере. Итак, не могли бы вы предложить лучший способ получить записи из Greenplum и вставить в PostgreSQL.
Также, пожалуйста, предложите по мере увеличения нагрузки увеличивать объем памяти.
В настоящее время я использую batchUpdate()
, используя JDBCTemplate
postgresqlJdbcTemplate.batchUpdate(insertOpportunitiesDataQuery, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
Opportunities Opportunities = OpportunitiesList.get(i);
ps.setString(1, Opportunities.getOpptyId());
ps.setString(2, Opportunities.getOpptySalesStage());
ps.setDouble(3, Opportunities.getLineAmountUsd());
ps.setString(4, Opportunities.getMustWinIndicator());
ps.setString(5, Opportunities.getLineType());
ps.setInt(6, Opportunities.getExpectedOrderYear());
ps.setInt(7, Opportunities.getExpectedOrderQuarter());
}
@Override
public int getBatchSize() {
return OpportunitiesList.size();
}
});