pureQuery 클라이언트 최적화가 실행 중인 응용프로그램에서 SQL문을
캡처할 때, SET SPECIAL REGISTER문이 실행되면 경고 메시지가 로그 파일에 전송됩니다. 일반적으로 사용되고
SQL문에 의해 리턴되는 데이터에 영향을 미칠 수 있는 특수 레지스터 설정에 대한
변경사항도 SQL 캡처 중에 pureQueryXML 파일에 기록됩니다.
DB2® 데이터베이스의 경우,
특수 레지스터 값의 변경사항은 응용프로그램 작동 방식에 영향을 미칠 수 있습니다.
다음 예는 특수 레지스터 CURRENT DECFLOAT
ROUNDING MODE를 사용하며 SQL문이 캡처될 때 값이 ROUND_CEILING으로
설정되어 있다고 가정합니다. pureQueryXML의 SQL문을 바인드하고
값이 ROUND_FLOOR로 설정된 정적 모드로 응용프로그램을
실행하는 경우, 데이터가 특수 레지스터 값에 종속되어 있으면
리턴되는 데이터는 다를 수 있습니다. 응용프로그램 코드가
변경되지 않은 경우에도 결과는 다를 수 있습니다.
pureQueryXML 클라이언트 최적화에 의해
추적되고 기록되는 특수 레지스터 값
pureQuery 클라이언트 최적화는
응용프로그램이 실행되는 동안 SQL문을 캡처할 때 일부 특수 레지스터 값을
추적하여 기록합니다. 캡처된 SQL을 병합하고 구성할 때
SQL문과 함께 기록된 특수 레지스터 정보는 명령문과 함께
보존됩니다.
특수 레지스터의 pureQuery
범주는 다음과 같습니다.
- 추적되고 기록됨
- 추적되고 변경사항이 pureQueryXML 데이터로 기록되는
특수 레지스터입니다. pureQueryXML 파일에 저장된 특수 레지스터 정보는
Configure 유틸리티를 사용하여 pureQueryXML 파일을 구성할 때
사용할 수 있으며 워크벤치에서 pureQueryXML 파일을 편집할 때 표시됩니다.
Configure 유틸리티 및 pureQueryXML 파일을 편집할 때 표시되는
정보에 대한 자세한 내용은 관련 링크를 참조하십시오.
- 안전하지 않고 기록되지 않음
- 기록되지 않지만 해당 값에 대한 변경사항이
SQL문에서 리턴되는 데이터에 영향을 미칠 수 있는 특수 레지스터입니다.
안전하지 않고 기록되지 않는 특수 레지스터에 대한 변경사항이
발생하는 경우, unTrackedRegisters 속성 값은 true로 설정되어 있습니다.
- 안전하고 기록되지 않음
- 안전하고 pureQueryXML 파일에 기록되지 않는
특수 레지스터입니다. 일반적으로 이러한 특수 레지스터에 대한 변경사항은
SQL문에서 리턴되는 데이터에 영향을 미치지 않습니다. 예를 들어,
특수 레지스터 CURRENT DEGREE는 응용프로그램 프로세스에 의해 동적으로 준비된
쿼리 실행의 병렬 처리 수준을 지정합니다. 이러한 범주에 속하는
특수 레지스터는 다음과 같습니다. CURRENT PACKAGE PATH, CURRENT PACKAGESET, CURRENT CLIENT_ACCTNG,
CURRENT CLIENT_APPLNAME, CURRENT CLIENT_USERID, CURRENT CLIENT_WRKSTNNAME 및
CURRENT DEBUG MODE.
주: 특수 레지스터 PACKAGE PATH 및
PACKAGE SET는 기록되지 않으나 정적 실행에 영향을 미칩니다.
PACKAGE SET가 사용되는 경우, 정적 패키지가 동일한 콜렉션에 바인되어야 하며
그렇지 않으면 정적 실행 중에 -805 오류가 발행됩니다.
다음 DB2 특수 레지스터의 값도 캡처되어
SQL문과 함께 파일에 저장됩니다.
- CURRENT SCHEMA
- CURRENT PATH
- CURRENT PRECISION1
- CURRRENT DECFLOAT ROUNDING MODE2
- CURRENT SQLID3
주: - 특수 레지스터는 z/OS®용 DB2에서만 지원됩니다.
Linux®, UNIX® 및 Windows®용 DB2와 System i®용 DB2에서는 특수 레지스터가 지원되지 않습니다.
- z/OS용 DB2 버전 9.1 이상 및
Linux, Windows 및 UNIX용 DB2 버전 9.5 이상에서는 특수 레지스터가 지원됩니다.
- Linux, UNIX 및 Windows용 DB2 및 System
i용 DB2에서는 CURRENT SQLID 및 CURRENT SCHEMA가
동의어로 사용되고 동일한 바인드 옵션 QUALIFIER와 함께 사용될 수 있습니다.
pureQueryXML 파일에 저장된 캡처된 특수 레지스터 정보는
Configure 유틸리티를 사용하여 pureQueryXML 파일을 구성할 때
명령문 세트를 작성하는 데 사용할 수 있습니다. 워크벤치의 pureQueryXML 편집기에서
pureQueryXML 파일을 볼 때 캡처된 특수 레지스터 정보가 표시됩니다.