[Oracle] NL 조인


[Oracle] NL 조인

Nested Loop 조인 프로그래밍으로 따지면 이중 중첩 루프문을 사용하는 방식이다. NL 조인은 Outer(Driving)와 Inner 양쪽 테이블 모두 인덱스를 사용한다. Outer 테이블의 사이즈가 크지 않으면 인덱스를 사용하지 않을 수도 있음 Table Full Scan을 해도 한 번에 하기 때문에 Inner 쪽 테이블은 인덱스를 사용해야 한다. 인덱스를 사용하지 않으면 Outer Loop에서 읽은 건수 만큼 Table Full Scan을 반복하기 때문에 인덱스를 이용한 조인 방식이다. SELECT /* ordered use_nl(B) */ * FROM 사원 A, 고객 B USE_NL을 사용하면 NL 조인 사용 가능하다. ordered 힌트는 FROM 절에 기술한 순서대로 조인하라는 의미이다. 위 쿼리는 사원 테이블 (Driving) 기준으로 고객 테이블 (inner)과 NL 방식으로 조인하라는 의미 SELECT /*+ orderd use_nl(B) use_nl(C) use...


#db #NL조인 #oracle

원문링크 : [Oracle] NL 조인