2012-11-28 2 views
1

JDBC에서 한 번에 두 개 이상의 행을 추출 할 수있는 방법이 있습니까? 다음 메서드 (ResultSet 클래스)는 한 번에 한 행을 처리 할 수 ​​있습니다.JDBC의 다음 메소드의 대안 결과 세트

내 쿼리는 수천 개의 행 (각 행에 대해 단 하나의 열)을 반환합니다. 행은 매우 희박하여 열 값을 추출하기 만하면됩니다. 다음에 루핑 할 때 한 번에 한 행씩이 사용 사례에 대해 매우 느립니다.

+1

개발자 생산성 측면에서 천천히 가거나 런타임에 느려질까요? 또한 어쩌면 데이터베이스에서 이러한 숫자를 모을 수 있습니다 (SUM, AVG ...). –

+1

런타임시 느립니다. 실행해야하는 집계 함수가 아닙니다. 뭔가 생각해보십시오 (테이블에서 col1 = val1을 선택하십시오.) 예상 결과는 100,000 개의 키입니다. –

답변

0

의 ResultSet 만 JDBC 드라이버는 Statement.setFetchSize() (행 INT)

무효의 setFetchSize

는 JDBC 드라이버 a를 부여으로 지정한 행의 금액을 인출해야 한 번에 하나의 행을 반환하는 동안 이 Statement에 의해 생성 된 ResultSet 객체에 대해 더 많은 행이 필요할 때 데이터베이스에서 가져와야하는 행 수에 대한 힌트.

Statement/PreparedStatement를 만들 때 페치 방향을 올바르게 설정하는 것이 좋습니다.