데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

WITH tree_query  AS (
SELECT     
본인노드
,부모노드
       , convert(varchar(255), 본인노드) sort  
       FROM 원본테이블 
WHERE 최상위 부모노드 ='최상위부모노드값'
    UNION ALL 
    SELECT
          B.본인노드
  ,B.부모노드
       , convert(varchar(255), convert(nvarchar,C.sort) + ' > ' +  convert(varchar(255), B.본인노드)) sort

    FROM  
 원본테이블 B
, tree_query C
    WHERE B.부모노드= C.본인노드

SELECT * FROM tree_query order by sort

이렇게 재귀 쿼리를 통해서 값을 가져오는데 원하는 값은 잘나옵니다. 문제는 느리네요... 
원본 테이블에 약 2000만 로우라 그런지 많이 느리네요 ㅠㅠ.. (2~3분)

원본 테이블를 약 3만 로우로 줄이면 2~3초내외로 떨어지긴합니다... 
하지만 전체 테이블 비교로 실사용이 가능한정도로 시간을 낮추고 싶은데.. 
어떻게 튜닝할지 감이 안잡히네요... 
(사실 제 생각으론 원본테이블의 범위를 줄이는 방법외에는 튜닝이 불가능하지 않을까 생각하고 있습니다.)

다른방식으로 시간을 줄일수 있을까요.. 예상시행계획은 index spool이 95%나 잡아 먹네요...
No. Subject Author Date Views
9191 쿼리 패턴 검색 질문드립니다. [2] 담덕 2016.02.20 2476
9190 초보적인 질문... [5] 큘러 2016.02.20 2533
9189 sql 이나 어떤거이든 해결 부탁 드립니다. ㅜㅜ [2] 수비짱 2016.02.20 2087
9188 ㅁㅁㅁ 수비짱 2016.02.20 1751
9187 dbcc문을 원격지에서 날릴수 없나요? [6] 군고구마 2016.02.19 4331
9186 원격지 서버에서 SQL LOG를 가져오고자 합니다. [6] 군고구마 2016.02.18 2190
9185 쿼리문 시간관련 질문 드립니다. [4] 유로유로 2016.02.18 2631
9184 다시 질문드립니다. [2] 큘러 2016.02.18 1987
9183 연결된 서버(Linked Server) 속도 문제 문의드립니다. [6] 디비로 2016.02.18 5631
9182 주기적인 cpu100% 현상 [4] yb 2016.02.18 2973
9181 같은조건인데 프로시저를 실행하면 한쪽은 되고 한쪽은 실행이 안됩니다. [3] 뱅만도리 2016.02.18 2047
9180 mysql replication [1] 니크네이므 2016.02.18 1639
9179 업데이트 오류에 이어서 .... [4] 큘러 2016.02.17 2182
9178 서버역할을 sysadmin으로 하지 않으면 db가 보이지 않습니다 [1] 조굴 2016.02.17 1962
9177 업데이트 문의 [18] 큘러 2016.02.16 2285
9176 group by 를 하고 싶은데요. [3] DOOLLY 2016.02.16 2175
» 재귀쿼리를 통해 트리구조를 가져올수있게 하는 쿼리를 작성하였는데 시간이 느립니다. 뽀구 2016.02.16 2392
9174 [질문] 오라클 start with ~ connect by 쿼리문입니다. [1] 매발톱 2016.02.16 2255
9173 case when 질문입니다. [2] 큘러 2016.02.16 2298
9172 쿼리문의 방자 2016.02.16 1902





XE Login