예: TempTable 및 OutputTempTable 토큰 사용

"Gold" 고객(예: Indiv.AcctType = 'Gold') 10,000명을 선택하는 Select1이라는 프로세스가 있다고 가정합니다. 이 Select1을 원시 SQL 쿼리를 사용하여 두 번째 Select 프로세스("Select2")에 연결합니다.

Select p.CustID from Indiv p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500

이 예에서는 해당 구매 합계가 $500가 넘는 입력 셀의 고객(즉, "Gold" 계정 유형인 고객)을 선택합니다.

이에 반해 <TempTable> 토큰과 조인이 없는 원시 SQL 쿼리는 다음과 같습니다.

Select p.CustID from Purchases p group by p.CustID having sum(p.PurchAmt) > 500

우선 고객 수백만 명이 포함되었을 수 있는 Purchases 테이블의 모든 고객에 대한 구매 합계를 계산한 다음 "Gold" 고객인지 여부에 관계없이 합계가 $500가 넘는 모든 고객을 선택합니다.

따라서 In-DB 최적화를 사용할 수 없는 경우에도 입력 셀이 존재하면 성능을 최적화하기 위해 <TempTable> 토큰을 사용하여 원시 SQL 쿼리를 작성하는 것이 좋습니다.

단순화하기 위해 이 예에서는 <OutputTempTable> 토큰을 사용하지 않았지만, In-DB 최적화를 유지하고 대상 ID가 데이터베이스에서 Campaign 서버로 역검색되지 않도록 하려면 원시 SQL 쿼리에 <OutputTempTable> 토큰을 포함해야 합니다. 예를 들면 다음과 같습니다.

Create table <OutputTempTable> as Select p.CustID from Purchases p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500



IBM Unica Campaign
 
8.5.0
For more information, see our support and community site: Customer Central