z/OS용 DB2에서 실행하는 SQL문에 대한 최적화 힌트 작성 및 배치

z/OS®용 DB2® 서브시스템에서 실행하는 SQL문에 대한 최적화 힌트를 작성, 유효성 확인 및 배치할 수 있습니다. 최적화 힌트를 사용하면 DB2 옵티마이저가 SQL문을 위한 최적 실행 계획을 선택하도록 도와주는 기준을 설정할 수 있습니다.

시작하기 전에

이 태스크 정보

다음과 같은 경우 DB2에 최적화 힌트를 제공하면 유용합니다.
최적화 힌트는 다음 세 가지 유형의 힌트로 구성됩니다.
PLAN_TABLE 힌트
이 유형의 힌트는 특정 단일 권한 부여 ID가 발행한 SQL문의 특정 액세스 경로를 강제 실행하려고 시도합니다. 동일한 권한 부여 ID가 소유한 PLAN_TABLE 인스턴스의 행을 사용하여 OPTHINT 바인드 옵션 또는 CURRENT OPTIMIZATION HINT 특수 레지스터에 지정된 값에 따라 힌트를 적용합니다.
명령문 레벨 액세스 경로 힌트(z/OS용 DB2 10 NFM 이상)
이 유형의 힌트는 DB2가 지정된 PLAN_TABLE 행을 사용하여 일치하는 SQL문의 액세스 경로를 판별하도록 지정합니다. 지정된 범위의 일치하는 명령문에만 적용되는 액세스 경로 힌트도 작성할 수 있습니다.
최적화 매개변수 힌트(z/OS용 DB2 10 NFM 이상)
이 유형의 힌트는 DB2가 다음 서브시스템 매개변수 및 옵션 같은 특정 최적화 매개변수를 사용하여 힌트와 일치하는 모든 명령문을 처리하도록 지정합니다.
  • REOPT 바인드 옵션
  • STARJOIN 서브시스템 매개변수
  • PARAMDEG 서브시스템 매개변수(MAX_PAR_DEGREE 열)
  • CDSSRDEF 서브시스템 매개변수(DEF_CURR_DEGREE 열)
  • SJTABLES 서브시스템 매개변수
또한 최적화 매개변수를 지정하고 지정된 범위의 일치하는 명령문에만 적용되는 힌트도 작성할 수 있습니다.
한 번에 둘 이상의 힌트 유형을 배치할 수 없습니다. 그러나 단일 SQL문에 대해 여러 가지 유형의 힌트를 순차적으로 배치할 수 있습니다. "최적화 힌트의 공존성"을 참조하십시오.
팁: 사용자의 상황에 맞는 힌트 유형이 확실하지 않은 경우, 편집기에서 세 유형을 모두 정의한 후 테스트를 위해 한 번에 하나씩 배치할 수 있습니다.

프로시저

최적화 힌트를 작성, 유효성 확인 및 배치하려면 다음을 수행하십시오.

  1. 최적화 힌트를 작성하려는 SQL문을 캡처 또는 선택하십시오.
    • 단일 캡처된 SQL문에서 작업하려는 경우 다음 단계를 수행하십시오.
      1. 조정하려는 SQL문을 캡처하십시오. 단일 쿼리 튜닝을 위해 SQL문을 캡처할 수 있는 위치를 참조하십시오.
      2. 명령문을 선택하고 명령문 튜닝 단추를 클릭하십시오. 호출 섹션에서 단일 어드바이저 및 분석 도구 실행 페이지가 열립니다.
    • 쿼리 워크로드에 있는 SQL문에서 작업하려는 경우 다음 단계를 수행하십시오.
      1. Workflow Assistant의 왼쪽에 있는 관리 탭을 클릭하십시오.
      2. 워크로드 관리 페이지에서 해당 SQL문을 포함하는 쿼리 워크로드를 선택하십시오.
      3. 추가 조치 필드에서 명령문 표시를 선택하십시오.
      4. 명령문 표시 페이지에서 SQL문을 마우스 오른쪽 단추로 클릭하고 선택된 명령문에 단일 쿼리 어드바이저 및 도구 실행을 선택하십시오. 호출 섹션의 단일 쿼리 어드바이저 및 분석 도구 실행 페이지가 열립니다.
  2. Workflow Assistant 왼쪽에서 단일 쿼리 아래의 고급을 펼치고 최적화 힌트 작성을 선택하십시오. Workflow Assistant가 검토 섹션의 최적화 힌트를 사용하여 액세스 플랜 사용자 정의 페이지를 엽니다. 이 페이지는 다음 세 개의 섹션을 포함합니다.
    결합 다이어그램
    결합 다이어그램은 이 정보를 표시합니다.
    • 쿼리가 접촉하는 테이블로서 다이어그램에는 노드로 표시됩니다.
    • 테이블 간의 관계로서 다이어그램에는 노드 간의 라인으로 표시되고 쿼리의 술어 분석을 기반으로 생성됩니다.
    • 로컬 및 Join 술어 모두

    SQL문의 액세스 플랜에서 테이블이 참조되는 방법을 사용자 정의하려면 테이블을 더블 클릭하십시오. 사용자 정의는 테이블에서 페이지 맨 아래 개요 섹션에 나타납니다. 사용자 정의는 아직 활성이 아닙니다. 계속해서 최적화 힌트에 다른 사용자 정의를 추가할 수 있습니다.

    편집 가능 결합 시퀀스 다이어그램
    결합 시퀀스 다이어그램은 지정된 액세스 플랜에 대한 테이블의 결합 시퀀스를 표시합니다. 다음 조치를 수행할 수 있습니다.
    • 선택된 노드 삭제
    • 테이블 참조 노드 추가
    • SQL문의 액세스 플랜에서 테이블이 참조되는 방법을 사용자 정의하려면 테이블을 더블 클릭하십시오.
    • 조인 연산자 노드 추가
    • 조인을 다른 유형의 조인으로 변경하려면 조인 연산자 노드를 더블 클릭하십시오.
    • 다른 테이블 맨 위에서 테이블을 끌어 와서 조인 시퀀스에서 이러한 테이블의 위치를 전환하십시오.
    기존 조인 시퀀스의 모든 변경사항이 페이지 맨 아래의 개요 테이블에 나열됩니다. 워크플로우 보조 프로그램이 이를 즉시 검사합니다. 오류와 경고가 페이지 맨 아래의 문제점 섹션에 표시됩니다.

    조인 시퀀스의 모든 변경사항을 제거하고 싶은 경우에는 기본 조인 시퀀스를 클릭하십시오.

    힌트 정의
    결합 다이어그램 또는 결합 시퀀스 다이어그램에서 변경을 수행하면, 이 섹션에 새 행이 추가됩니다. 워크플로우 지원 프로그램이 항목에서 오류를 발견하고 항목에 관한 경고가 있거나 항목 변경을 제안하는 경우, 문제점 탭에 표시기가 나타납니다. 해당 탭을 클릭하여 정보를 보십시오.
  3. 최적화 힌트를 작성하십시오.
    • PLAN_ABLE 힌트나 명령문 레벨 액세스 경로 힌트를 작성하려는 경우, 결합 다이어그램 및 결합 순서 다이어그램에서 변경하여 작성할 수 있습니다. 결합 다이어그램 또는 결합 순서 다이어그램에서 변경을 작성할 때, 새 행이 힌트 정의 섹션의 테이블 액세스 서브섹션에 추가됩니다. Workflow Assistant가 항목에서 오류를 발견하고 항목에 관한 경고가 있거나 항목 변경을 제안하는 경우, 문제점 탭에 표시기가 나타납니다. 해당 탭을 클릭하여 정보를 보십시오.
    • 최적화 매개변수 힌트를 작성하려는 경우, 힌트 정의 섹션의 최적화 매개변수 서브섹션에서 값을 변경하여 작성할 수 있습니다.
  4. 최적화 힌트를 유효성 확인하십시오. 힌트 정의 섹션에 원하는 항목이 있고 오류를 모두 해결하고 모든 경고에 응답한 경우, 페이지 맨 위의 힌트 유효성 확인 아이콘을 클릭하십시오. 힌트 유효성 확인 창에서 애플리케이션 환경의 매개변수를 사용자 정의하거나 기본값을 그대로 두십시오. 이러한 옵션에 대한 정보를 보려면 창 왼쪽 하단 모서리의 도움말 아이콘을 클릭하거나 F1을 입력하십시오. 유효성 확인을 클릭하면 힌트 유효성 확인 결과 창이 열립니다. 이 창에 대한 도움말을 보려면 왼쪽 하단 모서리의 도움말 아이콘을 클릭하거나 F1을 입력하십시오.
  5. 유효성 검증 프로세스가 찾은 모든 문제점을 해결하십시오.
  6. 최적화 힌트를 배치하십시오.
    1. 힌트 배치 아이콘을 클릭하십시오.
    2. 힌트 배치 창에서 옵션(예: 힌트 이름 및 SQL문 식별에 사용할 번호)을 지정하십시오. 이 창에 대한 도움말을 보려면 왼쪽 하단 모서리의 도움말 아이콘을 클릭하거나 F1을 입력하십시오.
    3. 배치를 클릭하십시오.

피드백