긍정적인 사고와 행동으로 선한 영향력을 줄 수 있도록

Database

NL(Nested Loop) Join

리거니 2025. 12. 4. 16:39

NL 조인은 조인컬럼에 인덱스를 이용하는 방식, INDEX SCAN(RANDOM I/O) 사용
1. 선행 테이블을 순차적으로 읽어 조건 만족하는 행 찾음, 만족하지 않으면 필터링
2. 그 조인키를 가지고 후행 테이블에서 접근하여 조인키를 찾는다 조인 시도(inner[driven] 조인키에 인덱스가 없으면 풀스캔)
3. 후행 테이블에 조인 키가 없으면 필터링
4. 있으면 추출 버퍼에 넣음
5. 반복 수행

중첩 FOR 문 이라고 보면됨.
선행 테이블의 처리 범위(ROW) 가 성능을 결정, 양이 많지 않으면 인덱스 없이 Full Scan해도 한번만 하면 됨.
후행테이블에 대해서는 반드시 인덱스가 존재해야 NL 조인이 가능하다.
랜덤 엑세스 위주라 대용량 처리 시 불리함,
유니크 인덱스를 이용하여 소량 테이블 조인시 유리

'Database' 카테고리의 다른 글

Hash Join  (0) 2025.12.04
Sort Merge Join  (0) 2025.12.04
배치 I/O  (0) 2025.12.04
부분범위 처리  (0) 2025.12.04
다중 컬럼 인덱스(복합 인덱스)  (0) 2025.12.04