pureQueryXML 편집기에서 파일에 대체 명령문 추가

pureQueryXML 파일에서, 캡처한 명령문 대신 실행할 애플리케이션의 SQL문을 추가할 수 있습니다.

이 태스크 정보

pureQueryXML 파일에서 SQL문을 캡처한 후, 하나 이상의 명령문이 애플리케이션이 요구하는 것과 같이 수행되지 않았다는 것을 알 수 있습니다. 하지만 개발 주기의 나중에 이 사실을 알기 때문에 애플리케이션 수정은 불가능할 수 있습니다. 실행되고 있는 각 SQL문에 대해 대체 SQL문을 추가하여 pureQueryXML 파일을 편집할 수 있습니다. 애플리케이션을 실행할 경우, pureQuery는 원래 캡처된 SQL문 대신 대체 SQL문을 사용합니다.

예를 들어, SQL문은 테이블의 통계를 수집한 후에는 수행을 불완전하게 시작할 수 있습니다. 프로덕션 시스템에서 이러한 문제점이 발생하면, 데이터베이스 관리자는 테이블 통계의 변경을 되돌리거나 애플리케이션에서 SQL 변경을 요청해야 할 수도 있습니다. pureQuery에서, 데이터베이스 관리자는 이 옵션을 무시하고 대신 제대로 수행되지 않는 명령문이 표시되는 pureQueryXML 파일에 대체 SQL문을 추가할 수 있습니다.

대체 명령문을 추가하여 다음을 수행할 수 있습니다.
  • OPTIMIZE FOR 1 ROW를 추가하여 액세스 경로에 영향 주기
  • ORDER BY절을 추가하여 인덱스 사용에 영향 주기
  • FETCH FIRST n ROWS ONLY절, OPTIMIZE FOR n ROWS절 또는 FOR FETCH ONLY절을 추가하여 분산 쿼리에 대한 페치 크기에 영향 주기
  • WITH ISOLATION절 또는 SKIP LOCKED DATA절을 사용하여 잠금 동작 변경
  • QUERYNO절을 사용하여 EXPLAIN 데이터 관리

추가한 후 대체 SQL문을 바인드할 지 여부를 선택할 수 있습니다. 바인드하지 않고 사용하려면 애플리케이션을 실행할 때 enableDynamicSQLReplacement 특성을 TRUE로 설정해야 합니다.

다음 두 유형 중 하나를 제외하고, 모든 SQL문의 대체 명령문을 추가할 수 있습니다.

프로시저

대체 명령문을 추가하거나 대체 명령문을 편집하려면 다음을 수행하십시오.

  1. 대체 명령문이 런타임 시 대체할 명령문을 마우스 오른쪽 단추로 클릭하고 명령문 편집을 선택하십시오.
  2. 편집기의 맨 위에 표시되는 기본 스키마 필드에서, 추가 또는 편집 중인 SQL문에서 규정되지 않은 데이터베이스 오브젝트 참조에 사용할 스키마의 이름을 선택하거나 입력하십시오. SQL문이 다른 스키마에 있는 데이터베이스 오브젝트를 참조하도록 하려면, 해당 스키마의 이름으로 오브젝트의 이름을 규정해야 합니다.
    주의: 기본 스키마 필드는 현재 명령문 세트에 있는 모든 SQL문에 적용됩니다.
  3. DB2® 데이터 소스가 Java 프로젝트와 연관되는 경우, 편집기의 맨 위에 표시되는 기본 경로 필드에서, 추가 또는 편집 중인 SQL문에서 함수 참조사항 및 데이터 유형 참조사항을 분석할 때 사용할 SQL 경로를 입력하십시오. 이 값은 CALL문에서 스토어드 프로시저 참조사항을 분석하는 경우에도 사용됩니다.

    기본 경로를 쉼표로 구분된 하나 이상의 스키마 이름 목록으로 지정하십시오. 선택사항으로, 케이스를 보존하려면 스키마 이름을 큰따옴표로 묶으십시오(예: FERMAT, "McDrw #8", SYSIBM).

    주의: 기본 경로 필드는 현재 명령문 세트에 있는 모든 SQL문에 적용됩니다.
  4. 대체 명령문에 붙여넣거나 대체 명령문을 입력하십시오.

    추가 정보: Compare 편집기를 사용하여 대체 명령문을 원래 명령문과 비교할 수 있습니다. 두 명령문을 모두 선택하고 마우스 오른쪽 단추를 누른 후 비교를 선택하십시오.

    제한사항:
    • SQL문에 이름 지정된 매개변수 표시문자가 포함된 경우, 대체 명령문은 동일한 개수의 매개변수 표시문자를 가지고 있어야 하고 표시문자의 순서도 동일해야 합니다.
    • 대체 SELECT문에 대한 결과 세트는 원래 SELECT문에 대한 결과 세트와 일치해야 합니다.
  5. 대체 명령문을 추가하거나 편집한 후 Enter를 누르십시오. 편집기는 이전 명령문과의 호환성에 대해 새 명령문을 점검합니다.

    대체 명령문이 호환 가능한 경우, 정적으로 또는 동적으로 실행할 것인지 여부를 결정할 수 있습니다.

    • executionModeSTATIC으로 설정된 애플리케이션을 실행할 때 명령문을 정적으로 실행하려면 옆에 있는 바인드 체크 박스를 선택하십시오. 명령문은 pureQueryXML 파일을 바인드할 때 명령문 세트에서 작성하는 DB2 패키지에 포함됩니다.
    • executionModeSTATIC으로 설정된 애플리케이션을 실행할 때 명령문을 동적으로 실행하려면 옆에 있는 바인드 체크 박스를 선택하지 마십시오. 애플리케이션을 실행하기 전에, 클라이언트 최적화 특성 enableDynamicSQLReplacementTRUE로 설정하십시오.

피드백