달콤한 휴가가 끝나고 다시 일로 복귀...!!!!!
쿼리 변경 및 자바 로직변경
변경 전, 변경 후 시간비교 및 데이터 일치여부 확인
PL-SQL의 실행속도와 이클립스에서의 실행 속도의 큰 차이가 없기 때문에, 이클립스에서 처리하기로 했다.
인덱스 생성 + 쿼리 수정 + 자바 로직변경 크게는 3가지 작업을 한다.
인덱스 생성은 지난주에 했고, 쿼리 수정과 자바 로직변경 2가지 일이 남았다.
이전 쿼리: 인라인뷰, 각 변수에 따라 조건절에 집어넣는 리터럴 변수를 사용하였다.
1.리터럴 변수 -> 바인드 변수 변형
2. 인라인뷰를 스칼라쿼리, 레프트조인 2가지를 통하여 같은 값을 얻는 쿼리를 작성해서 비교해 보았지만, 인라인뷰가 속도가 가장 빠르기 때문에 그대로 두기로했다.
3. 로직 변경은 말로 하는것보다 그림이 쉬울거같아 준비했다.
바인드 변수 처리는 쿼리구문에 입력하는 값을 파라미터로 집어넣는 것을 말한다. 말로 설명보다는 다음 예제가 더 확실하다.
만약 ? 자리에 '" + 변수 + "' 또는 append를 사용해도 결과는 같고 이는 리터럴 변수라고 한다.
이 둘의 차이를 알기 위해서는 parse의 두 종류를 알 필요가 있다.다음 처리로 바꾼 가장 큰 이유는 CPU의 부하를 덜어줄 수 있기 때문에!!!
결과적으로 9시간 30정도의 처리속도를 50분으로 단축할 수 있었다.
처음에는 어떻게 저정도로 단축 시킬까 하였는데, 여기와서 가장 뿌듯했던 작업이였다.
데이터 비교 파일과 다른 배치프로그램도 속도개선 작업예정이다.
휴가였어? ㄷ ㄷ ㄷ