본문 바로가기
IT/JAVA

Fetch Call 최소화

by 최고영회 2013. 12. 21.
728x90
반응형
SMALL
  • JAVA에서 ArraySize 조정
    PreparedStatment stmt = conn.prepareStatment(sql); 
    *Stmt.setFetchSize(100);* 
    ResultSet rs = stmt.executeQuery() 
    // *rs.setFetchSize(100); -- ResultSet에서 조정할 수도 있다.*
  • JAVA에서 FetchSize 기본 값은 10.
  • 대량 데이터를 Fetch 할 때 이 값을 100~500 정도로 늘려 주면 기본 값을 사용할 때보다 데이터베이스 Call 부하를
    1/10 ~ 1/50로 줄일 수 있다.
  • FetchSize를 100으로 설정했을 때 데이터를 Fetch 해오는 메커니즘
    1. 최초 rs.next() 호출 시 한꺼번에 100건을 가져와서 클라이언트 Array 버퍼에 캐싱한다.
    2. 이후 rs.next() 호출할 때는 데이터베이스 Call을 발생시키지 않고 Array 버퍼에서 읽는다.
    3. 버퍼에 캐싱 돼 있던 데이터를 모두 소진한 후 101번째 rs.next() 호출 시 다시 100건을 가져온다.
    4. 모든 결과집합을 다 읽을 때까지 2~3번 과정을 반복한다.


728x90
반응형
LIST

'IT > JAVA' 카테고리의 다른 글

한글 변환 처리  (0) 2013.12.21
Java 명명 규칙 (Naming Rule)  (0) 2013.12.21
Java 성능 향상 팁  (0) 2013.12.21
properties file 한글 깨짐 현상 해결 방법  (0) 2013.12.21
java unsigned int  (0) 2013.12.21