Esempi: uso di token TempTable e OutputTempTable

Si supponga di avere un processo Seleziona1 che seleziona 10.000 clienti “Gold” (ad esempio, Indiv.AcctType = ‘Gold’). Connettere quindi Seleziona1 ad un secondo processo Seleziona (“Seleziona2”) utilizzando una query SDL semplice:

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

In questo esempio vengono selezionati clienti la cui somma di acquisti supera i 500 dollari e che si trovano nella cella di input (in altre parole, i clienti che hanno un tipo di account “Gold”).

Al contrario, una query SQL semplice che omette il token <TempTable> e si aggiunge:

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

prima calcola la somma degli acquisti di tutti i clienti nella tabella Acquisti (potrebbe trattarsi di milioni di clienti), quindi seleziona tutti i clienti la cui somma di acquisti supera i 500 dollari, indipendentemente dal fatto che siano o meno clienti “Gold”.

Pertanto, per ottenere prestazioni ottimali, anche se l'ottimizzazione in database è disattivata, scrivere le query SDL semplici utilizzando il token <TempTable> quando vi è una cella di input.

Per maggiore semplicitpa, in questo esempio non viene utilizzato il token <OutputTempTable>, ma per mantenere l'ottimizzazione in database ed evitare che gli ID dei destinatari vengano recuperati sul server Campaign, è necessario includere il token <OutputTempTable> nella query SQL semplice. Ad esempio:

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