db2expln 출력 설명
db2expln 명령의 Explain 출력에는 패키지 정보와 각 패키지에 대한 섹션 정보가 모두 포함되어 있습니다.
- 패키지 정보에는 바인드 조작의 날짜와 관련 바인드 옵션이 포함됩니다.
- 섹션 정보에는 섹션 번호와 Explain 중인 SQL 또는 XQuery문이 포함됩니다.
SQL 또는 XQuery문에 대해 선택한 액세스 플랜과 관련된 Explain 출력은 섹션 정보 아래에 표시됩니다.
액세스 플랜 또는 섹션의 단계는 데이터베이스 관리자가 실행하는 순서대로 표시됩니다. 각 주요 단계는 왼쪽을 맞춘 표제로 표시되며 해당 단계에 대한 정보를 그 아래에 들여씁니다. 액세스 플랜에 대한 Explain 출력의 왼쪽 여백에 들여쓰기 막대가 표시됩니다. 이러한 막대는 각 조작의 범위도 표시합니다. 가장 오른쪽에 있는 최저 레벨로 들여쓴 조작은 이전 들여쓰기 레벨에 표시된 조작보다 먼저 처리합니다.
선택된 액세스 플랜은 명령문 집중기가 사용되는 경우 원래 SQL문의 나중 버전인 유효 SQL문에 기초하며, 명령문 집중기가 사용되지 않는 경우 출력에 표시된 XQuery문에 기초합니다. 컴파일러의 쿼리 재작성 구성요소는 SQL 또는 XQuery문을 동등하지만 효율적인 형식으로 변환할 수 있으므로 Explain 출력에 표시되는 액세스 플랜은 예상과 완전히 다를 수 있습니다. Explain 테이블 및 SET CURRENT EXPLAIN MODE문을 포함하는 Explain 기능은 쿼리의 내부 표현을 역변환하여 작성된 유사한 SQL 또는 XQuery문 형식으로 최적화에 사용된 실제 SQL 또는 XQuery문을 나타냅니다.
db2expln의 출력을 Explain 기능의 출력과 비교할 때, 연산자 ID 옵션(-opids)이 유용할 수 있습니다. db2expln이 Explain 기능에서 새 연산자를 처리하기 시작할 때마다 연산자 ID 번호가 Explain 플랜의 왼쪽에 인쇄됩니다. 연산자 ID를 사용하면 액세스 플랜의 다른 표현에서 단계를 비교할 수 있습니다. Explain 기능 출력의 연산자와 db2expln에서 표시하는 연산이 항상 일대일로 대응되지는 않는다는 점을 참고하십시오.