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
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 2161
9189 sql 이나 어떤거이든 해결 부탁 드립니다. ㅜㅜ [2] 수비짱 2016.02.20 2111
9188 ㅁㅁㅁ 수비짱 2016.02.20 1769
9187 dbcc문을 원격지에서 날릴수 없나요? [6] 군고구마 2016.02.19 4410
9186 원격지 서버에서 SQL LOG를 가져오고자 합니다. [6] 군고구마 2016.02.18 2217
9185 쿼리문 시간관련 질문 드립니다. [4] 유로유로 2016.02.18 2668
9184 다시 질문드립니다. [2] 큘러 2016.02.18 2010
9183 연결된 서버(Linked Server) 속도 문제 문의드립니다. [6] 디비로 2016.02.18 6238
9182 주기적인 cpu100% 현상 [4] yb 2016.02.18 3025
9181 같은조건인데 프로시저를 실행하면 한쪽은 되고 한쪽은 실행이 안됩니다. [3] 뱅만도리 2016.02.18 2082
9180 mysql replication [1] 니크네이므 2016.02.18 1667
9179 업데이트 오류에 이어서 .... [4] 큘러 2016.02.17 2208
9178 서버역할을 sysadmin으로 하지 않으면 db가 보이지 않습니다 [1] 조굴 2016.02.17 2009
9177 업데이트 문의 [18] 큘러 2016.02.16 2306
9176 group by 를 하고 싶은데요. [3] DOOLLY 2016.02.16 2193
» 재귀쿼리를 통해 트리구조를 가져올수있게 하는 쿼리를 작성하였는데 시간이 느립니다. 뽀구 2016.02.16 2414
9174 [질문] 오라클 start with ~ connect by 쿼리문입니다. [1] 매발톱 2016.02.16 2283
9173 case when 질문입니다. [2] 큘러 2016.02.16 2319
9172 쿼리문의 방자 2016.02.16 1920
9171 날짜를 기준으로 사전과 사후 나누기... [2] DOOLLY 2016.02.15 2169
9170 태스크의 스크립트 생성을 SQL문이나 에이전트로 실행할 수 없을까요? [1] sincie 2016.02.15 2194





XE Login