Visual Explain을 사용하여 액세스 플랜 다이어그래밍

SQL 또는 XPATH문에 대한 현재 액세스 플랜의 다이어그램을 생성하여 데이터 서버가 명령문을 처리하는 방법을 찾을 수 있습니다. 더 나은 성능을 위해 그래프에서 사용 가능한 정보를 사용하여 SQL문을 조정할 수 있습니다.

시작하기 전에

z/OS®용 DB2®를 위한 액세스 플랜 다이어그램을 작성하려는 경우, 사용 중인 DB2 서브시스템을 구성해야 합니다. 단계는 IBM Data Studio에 있는 무료 튜닝 기능과 함께 사용하기 위한 서브시스템 구성을 위한 단계와 동일합니다.

제한사항: IBM® Informix® Dynamic Server의 경우 Visual Explain은 매개변수 표시문자 또는 호스트 변수가 포함된 SELECT문을 설명할 수 없습니다.

이 태스크 정보

다음 경우에 Visual Explain을 사용할 수 있습니다.
  • 최적화 시 사용된 통계 보기. 이들 통계와 현재 카탈로그 통계를 비교하여 패키지 리바인드가 성능을 개선하는지 여부를 판별할 수 있습니다.
  • 인덱스가 테이블에 액세스하는 데 사용되었는지 여부를 판별하십시오. 인덱스가 사용되지 않았으면 Visual Explain에서 어느 컬럼을 인덱스하면 좋을지 판별할 수 있습니다.
  • 총 예상 비용 및 검색된 행 수(카디낼리티)를 포함하여 액세스 플랜의 각 조작에 대한 정보를 얻습니다.

프로시저

쿼리의 현재 액세스 플랜 다이어그램을 생성하려면 다음을 수행하십시오.

  1. 옵션: Visual Explain이 작동되는 방법 및 다이어그램을 표시하는 방법에 대한 환경 설정을 설정하십시오.
  2. 명령문에 대한 Visual Explain을 여십시오. 다음 단계 중 하나를 수행하십시오.
    • 데이터 프로젝트 탐색기에서 SQL문을 마우스 오른쪽 단추로 클릭하고 Visual Explain 열기를 선택하십시오.
    • SQL 편집기에서, INSERT, UPDATE, DELETE 또는 SELECT문, XPATH 또는 XQUERY문을 강조 표시하고 마우스 오른쪽 단추로 클릭한 후 Visual Explain 열기를 선택하십시오.
      SQL문에 애플리케이션에서 선언한 변수가 포함된 경우 Java™ 편집기의 SQL문에서 Visual Explain을 열려는 시도가 실패합니다. 예를 들어, 술어의 두 변수로 인해 Visual Explain이 다음 SQL문을 분석할 수 없습니다.
      select count(*), sum(order.price)
      from order
      where order.date > var_date_1
      and order.date < var_date_2 
      그러나 애플리케이션을 바인드 또는 배치한 후 Data Studio에서 InfoSphere® Optim™ Query Tuner 또는 단일 쿼리 튜닝 기능을 사용하여 DB2 패키지 또는 동적문 캐시의 SQL문을 캡처한 후 튜닝할 수 있습니다.
    참고: 선택된 SQL문이나 오브젝트를 설명할 수 없는 경우 Visual Explain이 사용 불가능하거나 예외가 발생합니다. Visual Explain은 다음 목록의 SQL문만 설명할 수 있습니다.
    • Linux, UNIX 및 Windows용 DB2의 경우: CALL, 복합 SQL(동적), DELETE, INSERT, MERGE, REFRESH, SELECT, SELECT INTO, SET INTEGRITY, UPDATE, VALUES 또는 VALUES INTO.
    • z/OS용 DB2의 경우: SELECT, INSERT 또는 UPDATE 또는 DELETE문의 검색된 양식.
  3. 마법사의 첫 번째 페이지에서 액세스 플랜을 다이어그래밍할 SQL, XPATH 또는 XQUERY문의 종단자를 지정하십시오.
  4. 옵션: 마법사의 첫 번째 페이지에서 다양한 옵션에 대한 설정을 지정하십시오.
    1. 수집된 설명 데이터를 Explain 테이블에 저장할지 여부를 지정하십시오. 이 옵션을 선택하면 동일한 명령문에 대해 액세스 플랜을 다이어그램할 다음 번에 Visual Explain이 설명 데이터를 수집하지 않아도 됩니다.
    2. Visual Explain에서 작업 디렉토리로 사용할 디렉토리를 지정하십시오.
    3. IBM Support에서 추적이 필요한 경우, 액세스 플랜 다이어그램을 작성할지 및 설명 데이터 수집을 추적할지 여부를 지정하십시오.
    4. 사용자의 설정값을 Visual Explain을 사용하여 작성하는 모든 다이어그램의 기본값으로 저장할지 여부를 지정하십시오. 환경 설정 창을 사용하여 이들 기본값을 변경할 수 있습니다.
  5. 마법사의 두 번째 페이지에서 런타임 환경을 사용자 정의하여 설명 데이터 수집에 적용하려면 특수 레지스터의 값을 지정하십시오.

    Visual Explain이 설명 데이터를 수집하기 위해 명령문을 실행할 때 지정한 값이 사용됩니다.

    주의: DB2 데이터 서버와 관련하여 다음 정보에 유의하십시오.
    • z/OS용 DB2의 경우: CURRENT SCHEMA 및 CURRENT SQLID에 다른 값을 지정하면, Visual Explain이 CURRENT SQLID 값으로 규정된 Explain 테이블을 검색합니다. Visual Explain이 CURRENT SQLID 값으로 규정된 설명 테이블을 찾지 못하면 Visual Explain이 이 값 아래 설명 테이블을 작성합니다.
    • Linux, UNIX 및 Windows용 DB2의 경우: CURRENT SCHEMA 값을 특수 문자를 포함하는 값으로 변경하는 경우 이 값을 작은따옴표로 구분해야 합니다.
    • Linux, UNIX 및 Windows용 DB2의 경우: Visual Explain이 GROUP BY절을 사용하는 클러스터된 컬럼에 대한 세부사항 통계를 수집하게 하려면 컬럼 및 컬럼 그룹 통계 수집 선택란을 체크하십시오.
  6. 옵션: 마법사의 두 번째 페이지에서 사용자의 설정값을 Visual Explain을 사용하여 작성하는 모든 다이어그램의 기본값으로 저장할지 여부를 지정하십시오. 환경 설정 창을 사용하여 이들 기본값을 변경할 수 있습니다.
  7. 완료를 눌러 마법사를 종료하고 다이어그램을 생성하십시오.

결과

워크벤치가 액세스 플랜 다이어그램 뷰를 엽니다. 컴퓨터에 설치된 웹 브라우저 목록에서 웹 브라우저를 선택하십시오. 그런 다음 열기를 클릭하여 브라우저 창에서 다이어그램을 보십시오.

피드백