2016-10-26 1 views
1

groovy sql (2.4.4)을 사용하고 있습니다. 하지만 fetchSize를 설정하고 결과를 스크롤하는 방법을 알 수 없습니다.groovy에서 fetchSize 설정

나는 sql.setResultSetType(ResultSet.TYPE_FORWARD_ONLY)을 사용하지만 sql.rows(sqlQuery)과 같은 검색어는 동시에 모든 데이터를 반환하며 이는 매우 느립니다. 나는 우리가 정상적인 JDBC 쿼리에서하는 것처럼 데이터를 가져오고 싶다.

너무 많은 시간을 쿼리해야하기 때문에 maxRows를 설정하는 것은 실제로 옵션이 아니지만 fetchSize는 좋은 옵션입니다.

크게 간소화 자원 관리를 제공하는 자바의 일반 JDBC API를 통해 외관 및 설정 처리 결과 : 그루비 SQL 문서 (http://docs.groovy-lang.org/2.4.4/html/api/groovy/sql/Sql.html)에서

나는 것을 알 수있다.

하지만 가져 오기에 대한 정보는 없습니다. 어떻게 fetchSize를 설정할 수 있습니까?

감사합니다!

+0

필터링 결과를 추가하여 아직 수행하지 않은 경우 원하는 데이터를 얻을 수 있습니다. – Rao

답변

3

fetchSize 들어,이,

  • withStatement() 유일한 옵션이 될 것 같다; 이는 사용 rows()maxRows PARAM 걸리는 방법, 또는
  • 과부하

    • , 사용 가능한 몇 가지 옵션이 있습니다 maxResult를 들어 Closure

    여기 예,

    sql.withStatement { stmt -> stmt.fetchSize = 50 } 
    

    소요

  • 사용할 수 있습니다. asList() 방법은 KES maxRows PARAM

NB 소요 maxRows PARAM, 또는

  • 사용 eachRow() :rows(..), asList(..)eachRow(..)라는 이름의 오버로드 된 메서드 꽤가 있습니다.

  • +0

    withStatement는 내가 필요한 것을 정확하게 수행한다. 고마워요. – Max

    +0

    천만에, 맥스. –