order by시 조회속도 저하 0 3 2,372

by 케를로스 [2015.03.11 15:14:07]


결산쪽 데이터를 찾기위해서

 

예산 테이블

union all

예산배정 테이블

union all

지출결의테이블

 

을 합쳐서 order by 부서, 사업과목, 계정과목 으로 정렬을 시켰는데

45000건정도의 데이터를 조회하는데 20초정도 걸립니다.

order by를 사용해도 조회속도를 빠르게 할 수 있는 방법은 없는건가요??

order by 미사용시 1초도 안걸리더라구요..

 

 

by 경악그자체 [2015.03.11 15:19:09]

order by는 전체를 스캔하여 로우를 정렬하는데...

서브쿼리를 사용하시는게 더 빠르지 않을까요??


by jkson [2015.03.11 15:46:30]

ORDER BY 넣으면서 실행계획이 달라졌을 것 같네요. 힌트 사용해보세요.


by 마농 [2015.03.11 16:12:28]

성능저하의 원인이 정렬이라고 하기엔 건수가 너무 적네요.
원인은 다른데 있으나 부분범위 처리로 인해 드러나지 않았던 것이
정렬을 하면서 드러나게 된 것 같습니다.
성능저하의 원인을 찾아보세요.
단순 조회가 아닌 복잡한 로직이 들어간 부분이 없는지?
 - 사용자 함수 사용이나 서브쿼리 사용 등...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입