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 SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 39939
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 21908
9183 연결된 서버(Linked Server) 속도 문제 문의드립니다. [6] 디비로 2016.02.18 6658
9182 주기적인 cpu100% 현상 [4] yb 2016.02.18 3087
9181 같은조건인데 프로시저를 실행하면 한쪽은 되고 한쪽은 실행이 안됩니다. [3] 뱅만도리 2016.02.18 2159
9180 mysql replication [1] 니크네이므 2016.02.18 1713
9179 업데이트 오류에 이어서 .... [4] 큘러 2016.02.17 2246
9178 서버역할을 sysadmin으로 하지 않으면 db가 보이지 않습니다 [1] 조굴 2016.02.17 2037
9177 업데이트 문의 [18] 큘러 2016.02.16 2341
9176 group by 를 하고 싶은데요. [3] DOOLLY 2016.02.16 2224
» 재귀쿼리를 통해 트리구조를 가져올수있게 하는 쿼리를 작성하였는데 시간이 느립니다. 뽀구 2016.02.16 2467
9174 [질문] 오라클 start with ~ connect by 쿼리문입니다. [1] 매발톱 2016.02.16 2696
9173 case when 질문입니다. [2] 큘러 2016.02.16 2361
9172 쿼리문의 방자 2016.02.16 1958
9171 날짜를 기준으로 사전과 사후 나누기... [2] DOOLLY 2016.02.15 2201
9170 태스크의 스크립트 생성을 SQL문이나 에이전트로 실행할 수 없을까요? [1] sincie 2016.02.15 2210
9169 정수 올림에 관해 질문입니다. [3] leesoek 2016.02.11 2644
9168 쿼리에서 특정시간을 기점으로 결과값을 다르게 받는게 가능할까요? [4] 고구망 2016.02.11 2415
9167 조회조건이 포함된 선입선출 형태 질문~ [3] 정민채 2016.02.11 2596
9166 group by 를 할때.. case 로... [2] DOOLLY 2016.02.11 2259
9165 오라클 쿼리가 안되요 ㅠㅠ [1] 올해는2016 2016.02.09 2806
9164 SQL Server Agent가 구동이 안되서 크라우저2세 2016.02.08 2432





XE Login