SUBQUERY – NOT EXISTS

출처 블로그 > ▶ IT 강국 코리아
원본 http://blog.naver.com/leeyb74/130002720990

where    a.code NOT IN (select     deptno from tab2 where gcode = b.code)

위와 같이 NOT IN 의 연산자가 올 경우, SUB QUERY의 조건을 사용하여 NOT IN 대신 NOT EXISTS를 사용하여 개선할 수 있습니다.

where   a.code IS NOT NULL

and       a.code NOT IN ( select    /*+ MERGE_AJ */

                                                    deptno from tab2 where gcode = b.code

                                       and       deptno IS NOT NULL)

위와 같이 NOT IN 을 사용하는 경우 힌트를 사용하여 성능을 더욱 개선할 수 있습니다. 다음과 같이  /*+ MERGE_AJ*/ 나 혹은 /*+ HASH_AJ */ 와 같은 해당 조인시에서 양쪽 집합만을 추출하는 것에 대해 최적인 실행 계획을 수립, 실행하라는 힌트를 쓸 수 있습니다. 이 때 양쪽 집합의 조건에 NOT NULL을 주는 것은 필수 조건으로 오라클의 버그를 피하기 위한 방법입니다.

Posted by 웅쓰

2006/09/08 19:54 2006/09/08 19:54
Response
15 Trackbacks , 11 Comments
RSS :
http://comefeel.com/tt/comefeel/rss/response/143

Trackback URL : http://comefeel.com/tt/comefeel/trackback/143

« Previous : 1 : ... 235 : 236 : 237 : 238 : 239 : 240 : 241 : 242 : 243 : ... 358 : Next »

블로그 이미지

웅자의 상상플러스

- 웅쓰

Archives

Authors

  1. 웅쓰

Recent Trackbacks

Calendar

«   2012/05   »
    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    

Site Stats

Total hits:
317189
Today:
102
Yesterday:
199