SQL 매핑

SQL 매핑 기능은 복잡한 매핑 요구사항에 사용할 수 있으며 여러 와일드카드 * ~ * 매핑 규칙을 데이터베이스의 단일 패스로 대체하는 데 사용할 수도 있습니다.

이 예에서 매핑에는 약 3분이 소요되며 단일 SQL 매핑 규칙을 사용하면 약 30초만 소요됩니다. 단일 SQL 매핑 규칙을 사용하여 모든 "유사" 규칙을 대체할 수 있으며 다음과 같이 표시됩니다.

단일 SQL 매핑 규칙을 보여주는 이미지

생성되고 실행되는 실제 SQL은 다음과 같습니다.

실제 SQL 이미지

이 경우 SQL 매핑은 ACCOUNT 차원에서 정의되었고 다른 * ~ * 매핑 규칙은 삭제되었습니다. 이 하나의 SQL 매핑 규칙에 소요되는 총 시간은 29초였으며 기타 매핑 규칙은 필요하지 않았습니다.

ACCOUNT 및 ENTITY 차원은 해당 이름으로 참조할 수 있지만 다른 차원은 UD 차원에 매핑됩니다. SQL 매핑에 필요한 차원 세트를 찾으려면 애플리케이션 정의 또는 로그 파일을 살펴보고 사용할 차원을 확인해야 합니다. 이 예에서 제품 및 시나리오는 UD1 및 UD3에 매핑됩니다. 소스 차원 멤버는 "X"가 없는 열을 사용하고 매핑된 값은 접미사로 "X"가 있는 열에 있습니다. ACCOUNT 차원의 경우 소스 파일의 값은 ACCOUNT라는 열에 있고 매핑된 값은 ACCOUNTX 열에 저장됩니다. SQL 매핑은 각 차원에 대해 "X" 열을 설정하는 데 사용됩니다.

이와 동일한 유형의 매핑을 Account Reconciliation에서 사용할 수 있지만 프로파일 차원은 ACCOUNT로 분류되므로 프로파일 차원에 대한 모든 SQL 매핑은 ACCOUNT 차원에 지정해야 합니다. Account Reconciliation의 다른 차원은 애플리케이션 정의에 정의된 매핑을 기반으로 참조해야 합니다.

각 유형의 매핑은 리소스를 다르게 사용하며 매핑 성능은 다음과 같은 순서입니다. 여기서 Explicit이 가장 빠르고 Multi-Dim이 가장 느립니다.

  1. 명시적
  2. 위치
  3. 사이 및 유사
  4. 다차원

다차원 매핑은 가장 느린 매핑이며 명시적 및 유사 매핑의 조합을 사용해야 하는 복잡한 사용 사례에 대해 다차원 규칙을 제한하려고 합니다. (예: ENTITY = 100 AND ACCOUNT LIKE 4*).

추가 튜닝 전략으로 소스 차원을 결합하여 다차원 매핑을 명시적 매핑으로 바꿀 수 있습니다. 예를 들어 ENTITY=100 AND ACCOUNT=4100인 경우 ENTITY와 ACCOUNT를 소스로 연결하고 100-4000에 대한 명시적 매핑을 정의할 수 있습니다.

Note:

데이터 볼륨이 매우 큰 경우(300만 행 이상) 성능은 비슷하지만 데이터베이스 Governor 한도로 인해 SQL 매핑이 실패할 수 있습니다. 임포트 표현식은 데이터를 임포트할 때 처리되며 SQL 작업을 포함하지 않으므로 임포트가 실패하지 않습니다. 이러한 이유로 데이터 볼륨이 매우 큰 경우 SQL 매핑 대신 임포트 표현식을 사용하는 것이 좋습니다.