WebSphere 로고 z/OS용 Classic Federation Server, 버전 9.1
WebSphere 로고 z/OS용 Classic Replication Server, 버전 9.1
WebSphere 로고 z/OS용 Classic Data Event Publisher, 버전 9.1
WebSphere 로고 z/OS용 Data Integration Classic Connector, 버전 9.1


다중 레코드 배열 사용 시 성능 고려사항

레코드 배열 정의가 들어 있는 테이블을 맵핑할 때, 쿼리의 결과 세트가 성능에 영향을 줄 만큼 많은 행을 리턴할 수 있습니다.

테이블에 배열로서 맵핑하는 복수의 레코드 배열 정의가 있을 때 해당 테이블을 참조하는 쿼리는 큰 결과 세트를 생성합니다. 성능 문제점을 방지하려면 다음 중 하나를 수행하십시오.

각 배열에 대해 별도의 테이블을 맵핑하는 경우 페더레이티드 쿼리가 데이터를 읽을 수 있습니다. 구조를 평탄화하면 클라이언트 응용프로그램이 행을 삽입, 갱신 및 삭제할 수 있습니다.

레코드 배열 정의를 배열로서 맵핑할 때 Classic Data Architect가 데이터 정의를 SQL 컬럼으로 변환합니다. 배열의 각 인스턴스는 배열이 아닌 데이터 항목과 결합하여 SQL 행을 작성합니다. 예를 들어 직원 ID 123456789에 대한 데이터베이스의 레코드에 세 명의 부양 가족이 있는 경우 세 개의 구별 행이 해당 레코드에 대해 리턴됩니다. 다음 쿼리는 결과 세트에 세 행을 리턴합니다.

쿼리:

SELECT EMP_ID, NUMBER_OF_DEPENDENTS, DEP_ID, DEP_NAME FROM
CAC.EMPL WHERE EMP_ID = '123456789';
결과 세트:
EMP_ID    NUMBER_OF_DEPENDENTS  DEP_ID    DEP_NAME
123456789        3              111223333 Depen1
123456789        3              222334444 Depen2
123456789        3              333445555 Depen3

결과 세트 크기 계산

WHERE절에 필터링 술어를 제공하기 전에 공식을 사용하여 배열이 들어 있는 테이블에 대한 쿼리의 결과 세트에 있는 행 수를 계산할 수 있습니다. 결과 세트의 행 수는 다음 항목의 데카르트 곱입니다.

<각 레코드 배열의 인스턴스 수> * <실제 레코드 수>

가변 길이 배열의 경우 각 배열에 대해 존재하는 인스턴스 수를 모르는 경우 결과 세트의 행 수를 계산할 수 없습니다.

다음 예는 다중 배열이 큰 결과 세트로부터 발생하는 성능 문제점을 유발할 수 있는 방식을 보여줍니다.

  1. 직원이 다음 데이터 항목을 갖습니다.
    • 4명의 부양 가족
    • 2개의 비상 연락처
    • 세 개의 지정
  2. 데이터베이스에 200개의 직원 레코드가 있습니다.

쿼리는 각 직원에 대해 4 * 2 * 3 = 24행을 생성하고 결과 세트에 24 * 200 = 4800행을 생성합니다.

다음 예에서 COBOL 카피북에 부양 가족 및 전문 조직에 관한 데이터를 포함하는 배열을 정의하는 두 개의 OCCURS절이 있습니다.
  01  EMPLOYEE-RECORD.
      ...
      05  DEPENDENTS-ARRAY OCCURS 20 TIMES.
      ...
      05  ORGS-ARRAY OCCURS 5 TIMES PIC X(10).

Classic Data Architect의 테이블 새로 작성 마법사를 사용하여 이 레코드 레이아웃에 대한 테이블 정의를 작성하고 두 배열 모두를 동일한 테이블에 맵핑하는 경우, 단일 직원 레코드에 대한 결과 세트는 DEPENDENTS-ARRAY와 ORGS-ARRAY의 데카르트 곱입니다.

쿼리 프로세서는 널(NULL) 배열 인스턴스를 리턴하지 않습니다. 이 예에서 직원은 4명의 부양 가족과 2개의 전문 조직을 갖습니다. 쿼리는 해당 직원에 대해 4 * 2 = 8행을 생성합니다.

관련 개념
레코드 배열
페더레이션 및 변경 캡처를 위한 레코드 배열 정의
관련 태스크
테이블 정의에 각 레코드 배열에 대한 별도 테이블 작성
관련 참조
배열 정의 예
관련 정보
Classic 페더레이션을 위한 데이터 맵핑
변경 캡처를 위한 데이터 맵핑


피드백

갱신 아이콘 최종 갱신: 2007-07-11