pureQueryXML 파일에 대체 SQL문 추가

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문의 대체 명령문을 추가할 수 있습니다.

권장사항: IBM®은 워크벤치만을 사용하여 pureQueryXML 파일을 편집할 것을 강력하게 권장합니다. 워크벤치 외의 편집기에서 pureQueryXML 파일을 편집한 경우 파일을 사용하지 못할 수 있습니다.

워크벤치가 아닌 다른 편집기에서 pureQueryXML 파일을 편집해야 한다면, 편집하는 명령문 세트의 <statementSet> 태그에서 configureStatus 속성 값을 REQUIRED로 설정한 다음(configureStatus="REQUIRED"와 같이), 파일에서 구성 유틸리티를 실행하십시오.

프로시저

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

  1. 응용프로그램에서 SQL문을 캡처하십시오. 클라이언트 최적화에 대한 SQL문 캡처를 참조하십시오.
  2. 대체 명령문을 추가하도록 결과로 생성되는 pureQueryXML 파일을 편집하십시오.
    제한사항:
    • SQL문에 이름 지정된 매개변수 표시문자가 포함된 경우, 대체 명령문은 동일한 개수의 매개변수 표시문자를 가지고 있어야 하고 표시문자의 순서도 동일해야 합니다.
    • 대체 SELECT문에 대한 결과 세트는 원래 SELECT문에 대한 결과 세트와 일치해야 합니다.
  3. 다음 단계 중 하나를 수행하십시오.
    • 대체 명령문을 정적으로 실행하려면, 평소대로 pureQueryXML 파일에 대해 Configure 유틸리티와 StaticBinder 유틸리티를 실행하십시오.
    • 대체 명령문을 동적으로 실행하려면, pdq.properties 파일에서 enableDynamicSQLReplacement 등록 정보를 TRUE로 설정하십시오.
  4. 응용프로그램을 실행하십시오. SQL문이 정적으로 실행되도록 pureQuery가 아닌 API 응용프로그램 실행를 참조하십시오.

피드백