DB
Mybatis 대용량 조회 시 성능향상, fetchSize
이안_ian
2022. 3. 25. 11:01
반응형
mybatis로 DB조회하는 환경에서 업무성격에 따라 대용량을 조회하는 경우 수십초가 걸리는 경우가 있습니다.
이때 같은 쿼리를 툴에서 돌려보면 1초 정도로 아주 빠르게 조회되는 경우가 있는데 어떻게 해결할 수 있을까요?
바로 코드부터 보게된다면 아래와 같습니다.
<select id="selectBorad" resultType="map" featchSize="1000">
select *
from board
</select>
fetchSize는 보통 설정하지 않는 옵션인데 그렇게 될 경우
기본값은 10 입니다.
즉, 조회할 데이터가 1000개라면 100번을 조회하게 됩니다. 하지만 1000으로 설정할 경우 1번만 조회하게 되는것이지요.
어떤 사용자가 성능테스트를 한적이 있는데 109k의 데이터를 조회하는데 1분 40초가 소요 되었지만 fetchSize를 설정하면 아래와 같이 소요되었다고 합니다.
fetchSize=75 -> 15초
fetchSize=500 -> 4초
fetchSize=1000 -> 2.8초
출처
https://m.blog.naver.com/yjhyjh5369/221913532417
반응형