소귀에코드읽기
30
2020-02-14 16:26:50
5
258

spring/mybatis/hikaricp 단순 select 속도 개선


spring 에서 mybatis와 hikaricp로 데이터를 단순하게 2000개씩조회하려고 합니다. (DB는 oarlce11g를 사용하고 있습니다)


사용했던 쿼리 : select (전체 컬럼18개) from 테이블 


일단 툴을 사용하여 fetchSize를 2000으로 잡고 조회했을때 178ms  나왔습니다.

spring 에서 db에 접속에 필요한 설정 이외에는 입력하지 않은 채 바로 하단의 mybatis의 select 를 사용하여 조회 했는데 16초가 넘게 걸렸습니다...

<select id="getUserList" resultType="User" parameterType="User" fetchSize="400" >

(뒤에 있는 fetchSize를 적어서 실행했을때랑,  적지 않아서 실행했을때랑 결과는 거의 비슷합니다..)


fetchSize를 잡는 방법이 잘못된건가요 아니면 다른 방법이 있는건가 고민하다 처음으로 올립니다

어떻게 하면 속도가 조금이라도 빨라질까요




0
0
  • 답변 5

  • swp0419
    870
    2020-02-14 17:14:23 작성 2020-02-14 17:17:18 수정됨

    진짜 궁금해서 그러는데요.. 비꼬는거 아님..

    회원 테이블에 데이터가 얼마나 많으면 16초나 걸릴 수가 있죠.. ?

    툴에서 fetchSize를 안잡고 돌리면 쿼리 속도가 얼마나 걸리나요?

    0
  • John Suhr
    2k
    2020-02-14 17:42:18
    뭔가 잘못된 듯 합니다.. jpa로 하더라도 2천건 정도로는 5초 안넘습니다. 혹시 칼럼에 이미지바이너리 이런거 들어있는 테이블이 아닌지.. 한 프로젝트에 파일을 바이너리로 넣어둔 현장이 있어서 그런 경험은 있네요.
    0
  • 소귀에코드읽기
    30
    2020-02-14 18:08:21

    해결 했습니다...ㅜㅜ


    fetchSize 안잡아도 늦어도 200ms 아래로 나옵니다.

    바이너리 같은거 없이 순수한 varchar2와 number 문제 였습니다...


    fetch 문제를 떠나서 logging을 잘못 설정했는지 log찍는걸 일일히 하고 있었군요...

    logging 걷어내니깐 지우니깐 잘 됩니다   ;ㅇ;


    신경써주셔서 감사합니다..

    물어볼곳이 여기라도 있어서 다행이네요 ㅜ

    0
  • Java .
    1k
    2020-02-14 18:18:46

    단순 log를 찍는것만으로도 속도에 부하가 가나요?

    0
  • 소귀에코드읽기
    30
    2020-02-15 12:50:42

    로깅 걷어 내니 전 16초
    로깅 걷어 내고 0.2초 

    걸렸습니다..

    아마 제가 로깅을 잘못한거겠죠

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.