기타 Explain 정보

db2expln 명령의 출력에는 쉽게 분류할 수 없는 유용한 추가 정보가 들어 있습니다.

  • 데이터 정의 언어(DDL)문의 섹션은 다음 명령문을 사용하여 출력에 표시됩니다.
       DDL Statement
    DDL문에 추가 Explain 출력이 제공되지 않습니다.
  • CURRENT EXPLAIN SNAPSHOT과 같이 갱신 가능한 특수 레지스터와 관련된 SET문의 섹션은 다음의 명령문을 사용하여 출력에 표시됩니다.
       SET Statement
    SET문에 추가 Explain 출력이 제공되지 않습니다.
  • SQL문에 DISTINCT절이 포함된 경우 다음의 명령문이 출력에 표시될 수 있습니다.
       Distinct Filter  #Columns = n
    여기서 n은 구별 행을 확보하는 데 관련된 컬럼 수입니다. 구별 행 값을 검색하려면 먼저 행을 정렬하여 중복을 제거해야 합니다. 다음의 경우와 같이 데이터베이스 관리자가 중복을 명시적으로 제거할 필요가 없는 경우 이 명령문이 표시되지 않습니다.
    • 고유 인덱스가 존재하며 인덱스 키의 모든 컬럼이 구분 조작의 일부분입니다.
    • 정렬 중 중복을 제거할 수 있습니다.
  • PED(Partial Early Distinct) 조작이 수행되어 많은(모두는 아니지만) 중복 내용이 삭제된 경우 다음 명령문이 나타납니다. 이렇게 되면 쿼리 평가 시 나중에 처리해야 하는 데이터 양이 줄어듭니다.
    Hashed partial distinct filter
  • 다음 연산이 특정 레코드 ID에 따라 다른 경우 다음의 명령문이 표시됩니다.
       Positioned Operation
    위치 지정된 연산이 페더레이티드 데이터 소스에 대한 연산인 경우 명령문은 다음과 같습니다.
       Distributed Positioned Operation
    이 명령문은 WHERE CURRENT OF 구문을 사용하는 SQL문의 경우에 표시됩니다.
  • 결과에 적용되어야 하지만 다른 연산의 일부분으로 적용할 수 없는 술어가 있는 경우 다음의 명령문이 표시됩니다.
       Residual Predicate Application
       |  #Predicates = n
  • SQL문에 UNION 연산자가 포함된 경우 다음의 명령문이 표시됩니다.
       UNION
  • 후속 연산에서 사용할 행 값을 작성하기 위해서만 액세스 플랜에 연산이 있는 경우 다음의 명령문이 표시됩니다.
       Table Constructor
       |  n-Row(s)
    테이블 컨스트럭터는 한 세트의 값을 후속 연산에 전달되는 일련의 행으로 변환하는 데 사용할 수 있습니다. 그 다음 행에 대해 테이블 컨스트럭터가 프롬프트되는 경우 다음의 명령문이 표시됩니다.
       Access Table Constructor
  • 특정 조건에서만 처리되는 연산이 있는 경우 다음의 명령문이 표시됩니다.
       Conditional Evaluation
       |  Condition #n:
       |  #Predicates = n
       |  Action #n:
    조건부 평가를 사용하여 CASE문과 같은 활동이나 참조 무결성 제한조건 또는 트리거와 같은 내부 메커니즘을 구현합니다. 조치가 표시되지 않은 경우 조건이 참이면 데이터 조작 연산만 처리됩니다.
  • 액세스 플랜에서 ALL, ANY 또는 EXISTS 서브쿼리가 처리되는 경우 다음의 명령문 중 하나가 표시됩니다.
       ANY/ALL Subquery
       EXISTS Subquery
       EXISTS SINGLE Subquery
  • 특정 갱신 또는 삭제 조작 이전에 테이블에서 특정 행의 위치를 설정해야 합니다. 다음의 명령문으로 표시됩니다.
       Establish Row Position
  • 애플리케이션으로 행을 리턴하는 경우 다음의 명령문이 표시됩니다.
       Return Data to Application
       |  #Columns = n
    테이블 액세스로 조작이 푸시다운된 경우 완료 단계 명령문이 출력에 표시됩니다.
       Return Data Completion
  • 스토어드 프로시저가 호출되는 경우 다음의 명령문이 표시됩니다.
       Call Stored Procedure
       |   Name = schema.funcname
       |   Specific Name = specificname
       |   SQL Access Level = accesslevel
       |   Language = lang
       |   Parameter Style = parmstyle
       |   Expected Result Sets = n
       |   Fenced                       Not Deterministic
       |   Called on NULL Input         Disallow Parallel
       |   Not Federated                Not Threadsafe
  • 하나 이상의 대형 오브젝트(LOB) 로케이터가 해제되는 경우 다음의 명령문이 표시됩니다.
       Free LOB Locators