DB
PUSH_SUBQ ?
Lawmin
2011. 10. 3. 07:20
SELECT *
FROM A,
(SELECT * FROM B, C WHERE B.ID = C.ID) E
WHERE A.ID = E.ID
A가 건수가 작은 상황인데 PLAN 이 잘못 풀려 INLINE VIEW 인 E 내부가 먼저 수행되어 DRIVING TABLE이 되어 지연된다고 하면,
SELECT /*+ PUSH_SUBQ */ *
FROM A,
(SELECT * FROM B, C WHERE B.ID = C.ID) E
WHERE A.ID = E.ID
위와 같이 사용하여 바깥의 WHERE 절을 E 안쪽의 조건으로 PUSH 하면 빠른 결과를 얻을 수 있다.
근데 이건 inline view 아닌가? 어찌 subquery 힌트를 먹는거지?
FROM A,
(SELECT * FROM B, C WHERE B.ID = C.ID) E
WHERE A.ID = E.ID
A가 건수가 작은 상황인데 PLAN 이 잘못 풀려 INLINE VIEW 인 E 내부가 먼저 수행되어 DRIVING TABLE이 되어 지연된다고 하면,
SELECT /*+ PUSH_SUBQ */ *
FROM A,
(SELECT * FROM B, C WHERE B.ID = C.ID) E
WHERE A.ID = E.ID
위와 같이 사용하여 바깥의 WHERE 절을 E 안쪽의 조건으로 PUSH 하면 빠른 결과를 얻을 수 있다.
근데 이건 inline view 아닌가? 어찌 subquery 힌트를 먹는거지?