시스템 사용 중 엑셀 출력기능을 이용하는데, 특정 데이터 순서가 틀어진것을 확인.


이게 틀어진 상태로 계속 출력되는게 아니라, 5번 중 2번이 틀어진 순서로 출력됨.


쿼리를 보다보니 의심스러운 부분 발견


보통 제일 밑에 있어야 할 ORDER BY가 중간에 있는것


즉 순서가


A 테이블 내 쿼리 실행-> B 테이블 내 쿼리 실행 -> 두개 테이블 조인 -> 조건에 부합하는 데이터 체크 -> 정렬 -> 출력


이 정상적인 순서일텐데, 


A 테이블 내 쿼리 실행-> A 테이블 정렬 -> B 테이블 내 쿼리 실행 -> 두개 테이블 조인 -> 조건에 부합하는 데이터 체크 ->  출력


이렇게 돌아가고 있다.

(물론 실제 오라클 돌아가는건 좀 다르다. 나중에 봤을 때 이해를 쉽게하기 위해 위와같이 적음)


JOIN을 진행할 때 정렬 순서에 이상이 생길 가능성이 있다고 판단, ORDER BY를 가장 뒤쪽으로 빼내었음.



현재는 경과를 지켜보는중. 캐시가 남아있어서 그러는지, 진짜 잘 해결되서 문제가 없는지는 판단이 서지 않지만, 일단 엑셀 출력 시 순서는 이상없이 돌아가는듯하다.

블로그 이미지

광훨

,