SQL 또는 XPATH문에 대한 현재 액세스 플랜의 다이어그램을
생성하여 데이터 서버가 명령문을 처리하는 방법을 찾을 수 있습니다.
더 나은 성능을 위해 그래프에서 사용 가능한 정보를 사용하여
SQL문을 조정할 수 있습니다.
시작하기 전에
워크벤치에서 Visual Explain은 다음과 같은 데이터 서버를 지원합니다.
- Linux®, UNIX® 및
Windows®용 DB2® 버전 9.1.5
- Linux, UNIX 및 Windows용 DB2 버전 9.5.1 이상
- Linux, UNIX 및 Windows용 DB2 버전 9.7.1 이상
- z/OS®용 DB2 UDB 버전 8(호환성 모드)
- z/OS용 DB2 UDB 버전 8(새 기능 모드)
- z/OS용 DB2 버전 9.1
- z/OS용 DB2 버전 10
- IBM® Informix® Dynamic Server(IDS) 버전 11.50
- IBM Informix Dynamic Server 버전 11.70
- Oracle 데이터베이스 버전 10g 릴리스 2
- Oracle 데이터베이스 버전 11g 릴리스 1
z/OS용 DB2의 액세스 플랜 다이어그램을 작성하려는 경우 다음과 같이 사용 중인 DB2 서브시스템을 구성해야 합니다. Visual Explain에 대한 z/OS용 DB2 서브시스템 구성
제한사항: IBM Informix Dynamic Server의 경우
Visual Explain은 매개변수 표시문자 또는 호스트 변수가 포함된 SELECT문을
설명할 수 없습니다.
이 태스크 정보
다음 경우에 Visual Explain을 사용할 수 있습니다.
- 최적화 시 사용된 통계 보기. 이들 통계와 현재 카탈로그 통계를 비교하여 패키지 리바인드가 성능을 개선하는지 여부를 판별할 수 있습니다.
- 테이블을 액세스하는 데 인덱스 사용 여부 판별. 인덱스가 사용되지 않았으면 Visual Explain에서 어느 컬럼을 인덱스하면 좋을지 판별할 수 있습니다.
- 총 예상 비용 및 검색된 행 수(카디낼리티)를 포함하여 액세스 플랜의 각 조작에 대한 정보를 얻습니다.
프로시저
쿼리의 현재 액세스 플랜 다이어그램을 생성하려면 다음을 수행하십시오.
- 옵션: Visual Explain이 작동되는 방법 및 다이어그램을 표시하는 방법에 대한 환경 설정을 설정하십시오.
- 다음 단계 중 하나를 수행하십시오.
- 데이터 프로젝트 탐색기에서 SQL문, SQL 스토어드 프로시저 또는
SQL 사용자 정의 함수(UDF)를 마우스 오른쪽 단추로 누르고
Visual Explain 열기를 선택하십시오.
- 데이터 소스 탐색기에서 뷰를 마우스 오른쪽 단추로 누르거나
INSERT, UPDATE, DELETE 또는 SELECT문이 포함된 SQL 스토어드 프로시저 또는
사용자 정의 함수(UDF)를 마우스 오른쪽 단추로 누르십시오. Visual Explain
열기를 선택하십시오. 워크벤치가 둘 이상의 SQL문 또는
XQUERY문을 찾는 경우 워크벤치는 첫 번째 명령문을 사용합니다.
- SQL, 루틴 또는 Java™ 편집기에서 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에서
Optim™ 쿼리 튜너 또는 단일 튜닝 기능을 사용하여
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문의 검색된 양식.
- 마법사의 첫 번째 페이지에서 액세스 플랜을 다이어그래밍할
SQL, XPATH 또는 XQUERY문의 종단자를 지정하십시오.
- 옵션: 또한 마법사의 첫 번째 페이지에서 다양한 옵션의 설정값을 지정할 수 있습니다.
- 수집된 설명 데이터를 Explain 테이블에 저장할지 여부를 지정하십시오. 이 옵션을 선택하면 동일한 명령문에 대해 액세스 플랜을 다이어그램할 다음 번에 Visual Explain이 설명 데이터를 수집하지 않아도 됩니다.
제한사항: 이 옵션은 Oracle 데이터 서버에 사용할 수 없습니다.
- Visual Explain에서 작업 디렉토리로 사용할 디렉토리를 지정하십시오.
- IBM Support에서 추적이 필요한 경우, 액세스 플랜 다이어그램을 작성할지 및 설명 데이터 수집을 추적할지 여부를 지정하십시오.
- 사용자의 설정값을 Visual Explain을 사용하여 작성하는 모든 다이어그램의 디폴트값으로 저장할지 여부를 지정하십시오. 환경 설정 창을 사용하여 이들 디폴트값을 변경할 수 있습니다.
- 마법사의 두 번째 페이지에서 런타임 환경을 사용자 정의하여 설명 데이터 수집에 적용하려면 특수 레지스터의 값을 지정하십시오.
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절을 사용하는 클러스터된 컬럼에 대한 세부사항 통계를 수집하게 하려면
컬럼 및 컬럼 그룹 통계 수집 선택란을 체크하십시오.
- 옵션: 마법사의 두 번째 페이지에서 사용자의 설정값을 Visual Explain을 사용하여 작성하는 모든 다이어그램의 디폴트값으로
저장할지 여부를 지정하십시오. 환경 설정 창을 사용하여 이들 디폴트값을 변경할 수 있습니다.
- 완료를 눌러 마법사를 종료하고 다이어그램을 생성하십시오.
결과
워크벤치는
액세스 플랜 다이어그램 보기에 다이어그램을 표시합니다.
이 보기에서 다이어그램을 탐색하고, 다이어그램의 노드 설명을 보고, 노드를 검색할 수 있습니다.