똥글이꺼
448
2019-06-06 17:47:30
1
123

spring batch mysql


Spring batch 처리로


job 

  step1. 파일을 읽어들여, 64만건 데이터를 

         chunk 1000 씩 나눠서 insert

  

  step2. insert한 데이터를 조건에 맞게 select 하여 

         chunk 100 씪 다른 테이블에 insert


 위의 처리에서 step2의 select 문에서 멈춰서 움직이지 않습니다.

 

 select문을 그냥 돌릴시 8~9초안에 해당 데이터가 나오는 상태인데,

 batch로 step2 select 부분에서는 멈춰버리는 현상이 발생합니다.


 * select한 총 데이터 수는 5만4천건


 그런데 한 300건을 셀렉트하게 지정해놓고 돌리면,

 멈춤 없이 돌아갑니다.


 mysql 버퍼가 다 차서 그런건가요 ?

 

 step1 처리가 버퍼를 다 잡아 먹을것 같아서 chunk 1000개씩 끊어서 insert했는데도 문제가 발생합니다.


 다른 방법이 혹시 있을까요?

         

0
0
  • 답변 1

  • adtech_so
    171
    2019-06-06 22:21:26 작성 2019-06-06 22:26:11 수정됨

    MySQL 서버쪽 메모리 상태는 여유있었나요? 실시간 리소스 가시화가 되어있지 않은 상태라면 Datadog 같은 도구 도입하시는 편이 어느정도 디버깅하기 수월해질거라고 생각합니다.

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