[ibatis/mybatis] large resultSet, 대용량 select


[ibatis/mybatis] large resultSet, 대용량 select

조회화면에서 엑셀 다운로드를 개발해야 하는데, 조회화면은 한 화면에 10~20건씩 보여주더라도 엑셀 다운로드는 모든 데이터를 조회해서 export 해야 합니다. 이 경우 DB tool에서 직접 조회하면 1초 이내로 조회되는데, ibatis/mybatis 를 통해서 조회화면 몇십초씩 걸리는 경우가 있습니다. 이럴 때 fetchSize를 이용하여 성능을 높일 수 있습니다. <!-- ibatis --> <select id="selectListToExcel" resultClass="java.util.Map" fetchSize="1000"> fetchSize는 설정하지 않으면 기본 값은 10입니다. fetchSize가 10일 경우 DB 데이터가 1,000건이면 실제 DB에서 100번을 조회하게 되고, fetchSize가 1,000일 경우 한번만 조회하게 됩니다. 따라서 비약적인 성능 향상을 기대할 수 있습니다. 참고한 사이트에서 어떤 사용자는 109k의 기록을 검색하는데 1분 40초가 소요되...


#ibatis #mybatis #resultset #대용량

원문링크 : [ibatis/mybatis] large resultSet, 대용량 select