2진 조인 정보
db2expln 명령의 출력에는 Explain문의 조인에 대한 정보가 포함될 수 있습니다.
2진 조인이 수행될 때마다 다음 명령문 중
하나가 표시됩니다.
Hash Join
Merge Join
Nested Loop Join왼쪽 외부 조인은 다음의 명령문 중 하나로 표시됩니다.
Left Outer Hash Join
Left Outer Merge Join
Left Outer Nested Loop Join병합 또는 중첩된 루프 조인의 경우 조인의 외부 테이블은 이전 액세스 명령문에 참조된 테이블입니다(출력에 표시됨). 조인의 내부 테이블은 조인 명령문의 범위 내에 포함된 액세스 명령문에 참조된 테이블입니다. 해시 조인의 경우 액세스 명령문은 반대가 됩니다. 외부 테이블이 조인 범위 내에 포함되고 내부 테이블이 조인 이전에 표시됩니다.
해시 또는 병합 조인의 경우 다음의 추가 명령문이
표시될 수 있습니다.
조인이 내부 테이블의 행이 외부 테이블의 현재 행과 일치하는지 판별해야 하는 경우가 있습니다.Early Out: Single Match Per Outer Row
조인이 완료된 후 술어를 적용할 수 있습니다. 이 명령문은 적용되는 술어의 수를 표시합니다.Residual Predicate(s) | #Predicates = n
해시 조인의 경우 다음의 추가 명령문이 표시될 수
있습니다.
해시 테이블은 내부 테이블에서 빌드됩니다. 내부 테이블에 액세스하는 중 해시 테이블 빌드가 술어로 푸시다운된 경우 이 명령문이 표시됩니다.Process Hash Table For Join
외부 테이블에 액세스하는 중에 프로브 테이블을 빌드하여 조인 성능을 향상시킬 수 있습니다. 외부 테이블에 액세스하는 중에 프로브 테이블이 빌드된 경우 이 명령문이 표시됩니다.Process Probe Table For Hash Join
이 명령문은 해시 테이블을 빌드할 때 필요한 추정 바이트 수를 표시합니다.Estimated Build Size: n
이 명령문은 프로브 테이블을 빌드할 때 필요한 추정 바이트 수를 표시합니다.Estimated Probe Size: n
중첩된 루프 조인의 경우 다음 명령문이 조인 명령문
바로 뒤에 표시될 수 있습니다.
Piped Inner이
명령문은 조인의 내부 테이블이 다른 일련의 연산으로 인한
결과임을 표시합니다. 이 테이블을 복합 내부라고도
합니다.조인에 여러 개의 테이블이 관련된 경우 Explain 단계는 맨 위부터
맨 아래로 읽어야 합니다. 예를 들어, Explain 출력에 다음의 순서가
있다고 가정해봅니다.
Access ..... W
Join
| Access ..... X
Join
| Access ..... Y
Join
| Access ..... Z실행 단계는 다음과 같습니다.
- W 테이블에서 규정 행을 가져오십시오.
- W의 행을 X 테이블의 다음 행과 조인하고 결과 P1을 호출하십시오(부분 조인 결과 번호 1의 경우).
- P1을 Y 테이블의 다음 행과 조인하여 P2를 작성하십시오.
- P2를 Z 테이블의 다음 행과 조인하여 하나의 전체 결과 행을 작성하십시오.
- Z에 추가 행이 있는 경우 4단계로 이동하십시오.
- Y에 추가 행이 있는 경우 3단계로 이동하십시오.
- X에 추가 행이 있는 경우 2단계로 이동하십시오.
- W에 추가 행이 있는 경우 1단계로 이동하십시오.