일반적으로 소스 프로그램에서 SQL문을 추가, 제거 또는 수정할 때
ACTION(REPLACE) 서브옵션과 함께 BIND 명령을 실행하여 관련 DB2® 패키지를
리바인드해야 합니다. 이 명령을 실행하면
SQL문에 대한 액세스 플랜이 변경되고 성능에 영향을 줄 수 있습니다.
이 태스크 정보
이 프로시저에서는 애플리케이션의 SQL문을 포함하는
쿼리 워크로드를 작성하고 Explain합니다. 그런 다음 애플리케이션의
SQL문에 대해 필요한 변경사항을 작성합니다. 다음에는,
애플리케이션의 SQL문을 포함하는 또 다른 쿼리 워크로드를 작성하고
Explain합니다. 마지막으로, 첫 번째 쿼리 워크로드에 대한
EXPLAIN 스냅샷을 두 번째 쿼리 워크로드에 대한 EXPLAIN 스냅샷과
비교합니다.
InfoSphere® Optim™ Query Workload Tuner의
EXPLAIN 스냅샷은 특정 시점에 수집되는 EXPLAIN 정보 세트입니다.
프로시저
SQL문 추가, 제거 또는 수정으로 인한 액세스 플랜
변경사항을 식별하고 다루려면 다음을 수행하십시오.
- 애플리케이션에 있는 SQL문의 쿼리 워크로드를
작성하십시오.
- SQL문을 캡처하십시오.
- SQL문을 캡처한 후, 모든 명령문에서
쿼리 워크로드 작성 단추를 클릭하십시오.
- 입력 워크로드 이름 및 설명 창에서 새 쿼리 워크로드를 식별하는 정보를 지정하십시오.
관리 섹션의 워크로드 관리 및 조정 페이지가 열립니다. 새 쿼리 워크로드가 이 페이지의 테이블에 표시됩니다. 쿼리 워크로드의 상태는 CAPTURED입니다.
- 쿼리 워크로드를 Explain하십시오.
참고: 다음
소스에서 SQL문을 캡처했고 쿼리 워크로드를 작성할 때
EXPLAIN 정보를 저장할 것으로 선택한 경우, 쿼리
워크로드를 Explain할 필요가 없습니다.
- Linux, UNIX 및 Windows용
DB2: ACTIVITIES 이벤트 모니터,
EXPLAIN 테이블, 패키지, 패키지 캐시
- z/OS용 DB2: 카탈로그 플랜 및 패키지,
동적 명령문 캐시
- 워크로드 관리 페이지에서 쿼리 워크로드를
선택하고 추가 조치 필드에서 선택된
워크로드 Explain을 선택하십시오.
- EXPLAIN 정보 수집 창에서, 쿼리 워크로드에 있는
SQL문의 런타임 환경에 대한 선택값을
지정하십시오.
- 애플리케이션의 SQL문을 추가, 제거 또는 수정하십시오. 완료한 후 명령문이
정적이면 EXPLAIN 옵션을 YES로, ACTION 옵션을 REPLACE로
설정하고 패키지를 리바인드하십시오.
- 애플리케이션에 있는 SQL문의 또 다른 쿼리 워크로드를
작성하십시오.
- SQL문을 캡처하십시오.
- SQL문을 캡처한 후, 모든 명령문에서
쿼리 워크로드 작성 단추를 클릭하십시오.
- 입력 워크로드 이름 및 설명 창에서 새 쿼리 워크로드를 식별하는 정보를 지정하십시오.
- 쿼리 워크로드를 Explain하십시오.
참고: 다음
소스에서 SQL문을 캡처했고 쿼리 워크로드를 작성할 때
EXPLAIN 정보를 저장할 것으로 선택한 경우, 쿼리
워크로드를 Explain할 필요가 없습니다.
- Linux, UNIX 및 Windows용
DB2: ACTIVITIES 이벤트 모니터,
EXPLAIN 테이블, 패키지, 패키지 캐시
- z/OS용 DB2: 카탈로그 플랜 및 패키지,
동적 명령문 캐시
- 워크로드 관리 페이지에서 쿼리 워크로드를
선택하고 추가 조치 필드에서 선택된
워크로드 Explain을 선택하십시오.
- EXPLAIN 정보 수집 창에서, 쿼리 워크로드에 있는
SQL문의 런타임 환경에 대한 선택값을
지정하십시오.
- 두 쿼리 워크로드를 비교하십시오.
- Workflow Assistant의 왼쪽에 있는 관리
탭을 클릭하십시오.
- 워크로드 관리 페이지에서, 2단계에서
Explain한 쿼리 워크로드를 선택하십시오. 그런 다음 비교 단추를 클릭하십시오.
- 다른 워크로드 또는 스냅샷과 비교하려면
선택 창에서, 선택된 워크로드의 액세스 플랜을
또 다른 워크로드의 액세스 플랜과 비교 옵션을
선택하고 확인을 클릭하십시오.
- 액세스 플랜을 다른 워크로드의
액세스 플랜과 비교 마법사의 단계를 수행하십시오.
- 비교가 완료될 때, 액세스 플랜 및 계산된 비용에
대한 변경사항을 찾으십시오. 조치가 필요한 변경이 없는
경우, 비교를 완료합니다. 그러나 조치가 필요한 변경이
있으면 다음 단계를 계속하십시오.
- 성능 문제점을 갖는 SQL문을
포함하는 쿼리 워크로드를 작성 및 튜닝하려는 경우,
비교 섹션의 워크로드
EXPLAIN 스냅샷 및 SQL문별로 비교 결과 보기
페이지의 추가 조치 필드에서
튜닝을 위한 새 쿼리 워크로드 작성을
선택하십시오. 새 쿼리 워크로드
생성 마법사가 열립니다. 이 마법사에서 쿼리 워크로드에
SQL문을 포함하기 위한 기준을 설정할 수 있습니다. 쿼리
워크로드가 작성된 후, 튜닝을 위해 이러한 일반 단계를
참조할 수 있습니다.
- 하나 이상의 문제가 있는 명령문에 대한
최적화 힌트 또는 최적화 프로파일을 작성하려는 경우
다음 단계 중 하나를 수행하십시오.
- 액세스 플랜을 비교한 명령문 목록에 있는
명령문을 선택하십시오.
- 목록 맨 위에 있는 세부사항 보기
단추를 클릭하십시오.
- SQL문 액세스 플랜별로 비교 결과 보기 페이지의 맨 위에서
최적화 힌트 작성 단추나 최적화
프로파일 작성 단추를 클릭하십시오.
나타나는 단추는 사용자가 작업 중인 데이터베이스 연결에
따라 다릅니다.
- SQL문이 정적이고 문제가 있는 명령문의
쿼리 워크로드를 튜닝했거나 최적화 힌트 또는 최적화 프로파일을
작성한 경우, 패키지를 리바인드하십시오. 미래의 비교에서
바인드 시간 EXPLAIN 스냅샷을 사용할 수 있기를 원하는 경우
EXPLAIN 옵션을 YES로 설정하십시오.