중첩 루프 조인 이해

중첩 반복이라고도 하는 중첩 루프 조인은 조인 입력 한 개를 외부 입력 테이블(그래픽 실행 계획에서 최상위 입력으로 표시됨)로 사용하고 한 개는 내부(최하위) 입력 테이블로 사용합니다. 외부 루프는 외부 입력 테이블에서 한 번에 한 행씩 입력받아 처리합니다. 각 외부 행에 대해 실행되는 내부 루프는 외부 테이블의 행과 일치하는 내부 입력 테이블의 행을 검색합니다.

가장 간단하게 전체 테이블 또는 인덱스를 검색하는 경우를 원시 중첩 루프 조인이라고 합니다. 검색에서 인덱스를 사용하는 경우에는 인덱스 중첩 루프 조인이라고 합니다. 인덱스가 쿼리 계획의 일부로 작성되고 쿼리 완료와 동시에 삭제되는 경우에는 임시 인덱스 중첩 루프 조인이라고 합니다. 어떤 방식을 사용할 것인지는 쿼리 최적화 프로그램에 의해 고려됩니다.

외부 입력은 작고 내부 입력은 크며 미리 인덱스가 정해져 있는 경우 중첩 루프 조인이 상당히 효과적입니다. 작은 행 집합에만 영향을 주는 일반적인 소규모 트랜잭션의 경우 인덱스 중첩 루프 조인이 병합 조인이나 해시 조인보다 훨씬 우수합니다. 그러나 크기가 큰 쿼리에서는 중첩 루프 조인이 최적의 선택이 아닌 경우도 많습니다.