조인 쿼리 수정 질문드려요 0 3 484

by 유정현 [Oracle Tuning] 오라클 쿼리 튜닝 속도 [2019.02.26 17:49:49]


SELECT * FROM BASIC A
INNER JOIN COMMON B
ON A.GB_CODE=B.GB_CODE
ORDER BY B.ORDER_CODE DESC

 

A(BASIC) 테이블과 B(COMMON) 테이블을 내부 조인해서 B(COMMON) 테이블의 특정 칼럼으로 정렬하는 쿼리인데요.

A 테이블과 B 테이블 둘다 PK는 GB_CODE입니다.

하지만 메뉴구성을 위해서 B 테이블의 ORDER_CODE로 정렬를 해야하는 상황인데 이렇게 하면 실행 시간이 너무 오래 걸립니다.

어떻게 고쳐야 속도 개선이 가능할까요??

고수님들 답변 부탁드려요.

by 마농 [2019.02.26 18:12:58]

복잡한 쿼리라면 여러가지 성능 개선의 여지가 있을 수 있지만.
검색 조건도 없고, 워낙 간결한 쿼리라서 고칠 데가 없네요.
인덱스가 없는 것도 아니고.
느리다면 이유는 단 하나 정렬할 데이터량이 많다는 거네요.
조건절이 없으므로 행(Row)을 줄일 수는 없으니, 열(Column)을 줄여보세요.
SELECT * 대신 필요한 컬럼만 나열하세요.
그런데 메뉴 구성을 위한 자료라면? 소량일 것 같은데요?


by 유정현 [2019.02.26 18:23:40]

답변 감사합니다.

메뉴 리스트가 오천개 정도되고 칼럼은 줄일수가 없는 상황이라서요ㅠ

막막하네요...

 


by 마농 [2019.02.26 18:26:38]

5천건 정렬하는게 느리다는게 이상하네요.

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