我正在使用JDBC在对象 accountdetailsList 中使用Select Query获取数据(Oracle数据库)。我读过很多关于结果集性能问题的帖子。目前我在开发环境中获得最多1000条记录因此,审查速度很快,而且我没有遇到任何性能问题。因此,为了提高PRODUCTION中的性能,我将使用setFetchSize()作为数百万条记录。由于我是JDBC的新手,我正在寻找一些专家建议,如果这是处理大数据的正确方法。
AccountDetailsList accountdetailsList = new AccountDetailsList();
List<AccountDetails> accountDetails = new ArrayList();
try {
String sql_qry = "SELECT a.BILLING_ACCOUNT_ID,a.VALID_TO,a.STATUS_TYPE_KEY from tablename a where a.STATUS_TYPE_KEY='CLOSED' "
+ "and a.VALID_FROM >'"
+ formatStartDate+ "' and a.VALID_TO >'"+ formatToDate+ "'";
this.preparedStatement = dbconnection.prepareStatement(sql_qry);
preparedStatement.setFetchSize(100);
ResultSet rs = this.preparedStatement.executeQuery();
while (rs.next()) {
AccountDetails detailsVo = new AccountDetails();
detailsVo.setBillingAccountId(rs.getString("BILLING_ACCOUNT_ID"));
detailsVo.setValidto(rs.getDate("VALID_TO"));
detailsVo.setStatus(rs.getString("STATUS_TYPE_KEY"));
accountDetails.add(detailsVo);
}
accountdetailsList.setAccountdetailsList(accountDetails);
那么有没有其他方法来提高性能.setFetchSize(100)还可以,或者也可以使用setFetchSize(1000)? 感谢