쿼리 워크로드에 있는 SQL문의 액세스 플랜에 현재 있는 하나 이상의 인덱스를 가상으로 삭제한 후 인덱스 권장사항을 가져올 수 있습니다.
이 태스크 정보
이 프로시저에서는 튜닝할 SQL문의 쿼리 워크로드를 작성합니다. 그런 다음, 워크로드 통계 어드바이저를 두 번 실행하고 권장사항을 구현합니다.
그리고 나서 SQL문의 액세스 플랜에 있는 기존 인덱스를 가상으로 삭제하고 워크로드인덱스 어드바이저를 실행합니다.
프로시저
워크로드 인덱스 어드바이저를 실행하기 전에 가상으로 기존 인덱스를 삭제하려면 다음을 수행하십시오.
- 튜닝하려는
쿼리 워크로드를 작성하십시오. z/OS®용 DB2에서
실행되는 쿼리 워크로드 작성을 위해 SQL문을 캡처할 수 있는 위치를 참조하십시오.
- 워크로드 통계 어드바이저를 실행하여 쿼리 워크로드에 있는 SQL문의 액세스 플랜에 있는
오브젝트에 대한 통계 향상을 위해 RUNSTATS 제어 명령문을 생성하십시오. 그런 다음 권장
RUNSTATS 제어문을 실행하십시오. z/OS용
DB2에서 실행되는 쿼리 워크로드에 대한 통계 수집을 위한 권장사항 생성 및 수행을 참조하십시오.
- 워크로드 통계
어드바이저를 다시 실행하여 어드바이저에 추가 권장사항이
있는지 확인하십시오. 어드바이저의 추가
권장사항을 구현하십시오.
- 쿼리 워크로드를 다시 Explain하십시오.
- Workflow Assistant의 관리 섹션으로 돌아가십시오.
- Workflow Assistant 왼쪽에서 워크로드 목록을 선택하십시오.
- 쿼리 워크로드를 선택하십시오. 그런 다음, 추가 조치 필드에서 선택된 워크로드 EXPLAIN을
선택하십시오.
- EXPLAIN 태스크가 완료된 후 시스템 카탈로그의 로컬 캐시가
최신 상태인지 확인하십시오.
- 호출 섹션의
워크로드 어드바이저 실행 페이지로 돌아가십시오.
- Workflow Assistant 왼쪽에서 후보 인덱스 워크로드 테스트 실행을 선택하십시오. 후보 인덱스 워크로드 테스트 페이지가 열립니다. 페이지 하반부의 테이블은
쿼리 워크로드에 있는 SQL문의 액세스 플랜에 있는
인덱스를 나열합니다.
- 가상 삭제 열에서
쿼리 워크로드에 대한 인덱스 권장사항 생성 시 워크로드 인덱스 어드바이저가 고려하지 않을 인덱스를 선택하십시오.
- 워크로드 인덱스 어드바이저 실행을 클릭하십시오. 워크로드 어드바이저 권장사항 검토 페이지가 열립니다. 요약 섹션에서
워크로드 인덱스 어드바이저가 새 권장사항을 생성했는지 여부를 확인할 수 있습니다.
권장사항을 보려면 인덱스 탭을 클릭하십시오.
- 워크로드 인덱스 어드바이저에 권장사항이 있는 테이블의 목록을 검토하십시오. 각 테이블에 대해 이 정보가 표시됩니다.
- 카디널리티
- 테이블의 행 수입니다. 카디널리티를 알 수 없는 경우 값은 -1입니다.
- 테이블 참조
- 테이블을 참조하는 쿼리 워크로드에 있는 SQL문의 수입니다.
- 누적 비용 총계
- 테이블을 참조하는 모든 SQL문 실행에 대한 누적 비용입니다.
- 권장 인덱스
- 워크로드 인덱스어드바이저에 테이블에 대해 권장하는 인덱스의 수입니다.
- IUDM문
- 테이블을 참조하는 INSERT, UPDATE, DELETE 및 MERGE문의수입니다.
- 권장사항을 검토하려는 각 테이블 옆에 있는 선택란을 선택하십시오.
- 권장사항 섹션에서 어드바이저가 권장하는 새 인덱스 및 변경된 인덱스를 검토하십시오. 이 정보가 이 섹션에서 표시됩니다.
- 인덱스
- 권장 인덱스의 이름입니다. 이름을 변경할 수 있습니다.
- 테이블
- 인덱스가 권장되는 테이블의 이름입니다.
- 조치
- 권장되는 조치입니다.
- 작성
- 인덱스 작성을 권장합니다.
- 삭제
- 기존 인덱스를 삭제(drop)하도록 권장합니다.
주의: 인덱스
삭제 권장사항은 현재 쿼리 워크로드를 기반으로 합니다. 이러한 권장사항을
구현하기 전에 현재 쿼리 워크로드 외부에 있는 명령문이 인덱스를
사용하지 않는지 확인하십시오.
- 변경
- 기존 인덱스를 변경하도록 권장합니다.
- 키 열
- 권장 인덱스의 키 컬럼입니다.
- 컬럼 포함
- 키 컬럼에 추가되고 쿼리에서 데이터에 액세스할 때 인덱스 전용 액세스를 사용할 수 있게 하는 컬럼입니다. 이러한 컬럼은 고유성을 강제 실행하는 데 사용되지 않으며 고유 인덱스에만 추가될 수 있습니다. 포함 컬럼은 키 컬럼과 구별됩니다.
- 이전 키 열
- 권장사항이 현재 인덱스를 변경하는 경우, 현재 인덱스의 키
열입니다.
- 이전 포함 열
- 권장사항이 현재 인덱스를 변경하는 경우, 키 열에
추가되고 쿼리가 데이터에 액세스할 때 인덱스 전용 액세스를
사용하도록 허용하는 열입니다. 이러한 컬럼은 고유성을 강제 실행하는 데 사용되지 않으며 고유 인덱스에만 추가될 수 있습니다. 포함 컬럼은 키 컬럼과 구별됩니다.
- 추정 성능 획득
- 권장 인덱스에서 테이블에 대해 명령 실행 속도를 향상시킬 수 있는 백분율입니다.
- 추정 디스크 공간
- 권장 인덱스를 작성하기 위해 필요한 공간의 양입니다.
- 워크로드에서 사용 시간
- 테이블을 참조하는 워크 로드에 있는 모든 SQL문 실행 계수의 합계입니다.
- 고유
- 인덱스가 고유한지 여부를 표시합니다.
- 권장 이유
- 어드바이저가 권장한 이유입니다.
- 기존 인덱스 섹션에서 DB2 옵티마이저가 기존 인덱스를 사용하는지 및 어드바이저의 권장사항을 따른 후에 기존 인덱스를 계속해서 사용하는지 여부를 알 수 있습니다. 이 정보가 이 섹션에서 표시됩니다.
- 인덱스
- 인덱스의 이름입니다.
- 테이블
- 해당 테이블의 이름입니다.
- 작성자
- 인덱스의 규정자입니다.
- 키 열
- 기존 인덱스의 키 컬럼입니다.
- 컬럼 포함
- 키 컬럼에 추가되고 쿼리에서 데이터에 액세스할 때 인덱스 전용 액세스를 사용할 수 있게 하는 컬럼입니다. 이러한 컬럼은 고유성을 강제 실행하는 데 사용되지 않으며 고유 인덱스에만 추가될 수 있습니다. 포함 컬럼은 키 컬럼과 구별됩니다.
- 이전 사용
- 해당 테이블을 참조하는 명령문에 대한 현재 액세스 플랜에 인덱스를 사용할지 여부를 표시합니다.
- 이후 사용
- 권장 인덱스가 작성된 경우에 인덱스를 사용할지 여부를 표시합니다.
- 외부 키 인덱스
- 인덱스가 해당 테이블의 외부 키인지 여부를 표시합니다.
- 고유
- 인덱스가 고유한지 여부를 표시합니다.
- 가상으로 삭제(drop)
- 후보 인덱스 워크로드 테스트 페이지에서
테스트를 실행하기 전에 인덱스를 가상으로 삭제하는지 여부를 표시합니다.
- 마지막으로 사용한 시간
- 액세스 플랜에서 인덱스를 마지막으로 사용한 시간을 표시합니다.
- 옵티마이저에서 선택했으나 권장되지는 않는 인덱스 섹션에서, 어드바이저가 권장사항으로 고려하고 DB2 옵티마이저에서 사용했으나 사용자가 설정한 제한조건을 위반하므로 어드바이저에서 권장하지는 않는 인덱스의 목록을 검토할 수 있습니다. 제한조건을 보려면 제한조건 탭을 클릭하십시오. 이 정보가 이 섹션에서 표시됩니다.
- 인덱스
- 인덱스의 이름입니다.
- 테이블
- 인덱스가 평가되는 테이블의 이름입니다.
- 키 열
- 인덱스의 키 컬럼입니다.
- 추정 디스크 공간
- 인덱스에 필요한 디스크 공간의 크기입니다.
- 권장되지 않는 이유
- 인덱스가 위반한 제한조건입니다.
- 권장된 인덱스를 사용하는 SQL문을 보려면 권장사항 섹션에서 관심있는 각 인덱스 옆의 선택란을 선택하고 선택한 인덱스의 영향을 받는 SQL 표시 아이콘을 클릭하십시오.
- 옵션: 워크로드 인덱스 어드바이저에 대한 하나 또는 두 개의 제한조건을 변경하고 새 권장사항 세트를 생성하십시오. 권장사항 섹션에서 제한조건 변경 아이콘을 클릭하십시오. 새 인덱스에 할당할
디스크 공간 양과 테이블당 할당되는 인덱스 수를 변경할 수 있습니다.
- 권장사항에 대해 DDL문을 실행하거나 저장하려면 DDL 실행 아이콘을 클릭하십시오.
선택한 인덱스에 대해 DDL 실행 창에서 명령문을 실행하거나 파일에 저장할 수 있습니다. 실행하거나 저장하기 전에 명령문을 수정할 수도 있습니다.
다음에 수행할 작업
DDL을 실행한 후 워크로드 통계 어드바이저를 재실행하십시오.