tableA에서 지정된 키값으로 풀역전개를 한후 tableB에 있는 값 중에서 최초 1건만을 가져오려고 합니다.
tableA가 25,144,633 건 , tableB가 82,144 건 정도 되는데요 connect by 로 돌렸을때 98,709건 정도가 나옵니다.
데이터량이 많아 겨우 1건 가져오는데도 불구하고 상당한 부하가 걸리는것 같은데요 혹시 다른 방법이 있는지 고수님들 조언좀 부탁합니다. ㅠㅠ
디비는 오라클10g 쓰고있습니다.
tableA
end1,end2
1 2
2 3
2 5
tableB
col1
2
3
4
5
실행쿼리
SELECT c.col1
FROM
(
SELECT a.end1 col1
FROM tableA a
CONNECT BY PRIOR a.end1 = a.end2
START WITH a.end2 = 5
) b, tableB c
WHERE c.col1 = b.col1 AND ROWNUM = 1
|