order by시 속도문제입니다.. 0 4 1,767

by woni_rang [SQL Query] [2013.04.26 12:13:52]


select ~ from master

~에 항목이 20가지 좀 넙습니다.
그중에 서브쿼리 사용한게 10가지 정도되구요..
그 서브퀴리중 wm_concat으로 글자 합친것도 4개정도 됩니다..

요 쿼리가 order by를 사용하지 않으면 0.5초대에 나오는데 order by를 쓰면 15초대로 나옵니다..
필요한 index는 건상태이구요..

제가 아는건 테이블을 하나 만들어서 스케줄로 프로시저를 돌려서 수시로 데이터를 넣고
만든 테이블을 조회하는 방법 정도구요..

현재 환경에서 이 방법보다 효율적인 방법이 없을까요.
고수님들의 의견을 여쭙습니다..(__)감사합니다.

by 마농 [2013.04.26 12:52:02]
1. 정렬키에 대한 인덱스를 만들고 인덱스 스캔을 유도하는 방법
  - SELECT /*+ INDEX(테이블명 인덱스명) */ 지지고볶고 FROM ... ORDER BY
2. 정렬을 최소화 하고 정렬후에 가공작업
  - 변경전 : SELECT 지지고볶고 FROM ... ORDER BY
  - 변경후 : SELECT 지지고볶고 FROM (SELECT 단순조회 FROM ... ORDER BY)
3, 전체쿼리를 올리고 튜닝 요청 하기
  - 쿼리가 느린것은 복합적인 것이지 단순 정렬 때문만은 아닐 것입니다.

by 우리집아찌 [2013.04.26 13:16:19]
전 2번을 좋아해요.. ^^*

by 부쉬맨 [2013.04.26 13:28:39]
저도 2호님 참좋아하는데요....

by woni_rang [2013.04.26 13:32:02]
답변 감사합니다.(__)
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입