티스토리 뷰
아래 SQL에는 NO_MERGE, PUSH_PRED 힌트가 사용되었습니다.
먼저 PUSH_PRED 는 조인 조건 컬럼을 뷰안으로 병합하라고 조언해 주는 힌트입니다.
즉 인라인 뷰 v 의 조건절로 100 = v.manager_id(+) 조건이 들어가도록 변경한 다음에
실행계획을 수립하는 것입니다.
NO_MERGE는 메인쿼리와 인라인뷰가 합쳐지는 것 즉 병합을 하지말고 인라인 뷰 먼저 실행 하라는 것입니다.
SELECT /*+ NO_MERGE(v) PUSH_PRED(v) */
*
FROM employees e,
(SELECT manager_id
FROM employees
) v
WHERE e.manager_id = v.manager_id(+)
AND e.employee_id = 100;
NO_MERGE는 아래와 같이 인라인 뷰가 먼저 실행되게 하고 싶을 때도 사용하고, 아래와 같을 때 함수를 한번만 호출하도록
유도할때에도 사용되어 집니다.
/* FN_GetGbn() 호출이 DECODE 갯수만큼 더 실행 됨 */
SELECT SUM(DECODE(GBN, 1, amt, null)) gbn1_amt
,SUM(DECODE(GBN, 2, amt, null)) gbn2_amt
,SUM(DECODE(GBN, 3, amt, null)) gbn3_amt
FROM
(
SELECT AMT, FN_GetGbn(code)
FROM 테이블
)
==> /* FN_GetGbn() 호출이 한번만 이루어 짐 */
SELECT SUM(DECODE(GBN, 1, amt, null)) gbn1_amt
,SUM(DECODE(GBN, 2, amt, null)) gbn2_amt
,SUM(DECODE(GBN, 3, amt, null)) gbn3_amt
FROM
(
SELECT /*+ NO_MERGE */ AMT, FN_GetGbn(code)
FROM 테이블
)
======= EOF ================
- Total
- Today
- Yesterday
- 증권정보포털
- 유가바이트디비
- 톡토기
- 르세라핌
- 매직 트랙패드2
- JMW 헤어드라이기기
- 별이 빚나는 밤
- 파나소닉 비데 DL-EH10KWS
- 루미큐브 종류
- 빈센트 반 고흐
- Life Chair
- 별잉 빛나는 밤
- GKRS
- weka
- Pixel Pals
- VARIDESK
- 남설 팔찌
- Sybase IQ
- 배당급
- 브리다 정수기
- yugabyteDB
- 코라나 19
- 오미크론
- 솔리드 쿨론
- node.js
- 고체 향수
- 홈 오피스
- 화분벌레
- 카카오 에드
- 로니카 BCS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |