Beispiel: Verwenden der Tokens TempTable und OutputTempTable
Das folgende Beispiel zeigt, wie die Tokens TempTable und OutputTempTable in einer Direkt-SQL-Abfrage verwendet werden.
Angenommen, Sie haben einen Prozess Select1, bei dem 10.000 Kunden mit dem Status "Gold" ausgewählt werden (z. B. Indiv.AcctType = ‘Gold’). Sie verbinden dann über eine Direkt-SQL-Abfrage Select1 mit einem zweiten Prozess vom Typ "Auswählen" ("Select2"):
Select p.CustID from Indiv p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500
Bei diesem Beispiel werden Kunden ausgewählt, deren Einkäufe die Summe von 500 USD überschritten haben und die der Eingangszelle zugewiesen sind (d. h. Kunden mit dem Kontotyp "Gold").
Im Gegensatz dazu eine Direkt-SQL-Abfrage ohne das Token <TempTable> und ohne Verknüpfung:
Select p.CustID from Purchases p group by p.CustID having sum(p.PurchAmt) > 500
Zunächst wird die Summe der Einkäufe aller Kunden in der Tabelle "Einkäufe" berechnet (dabei kann es sich um Millionen von Kunden handeln). Anschließend werden alle Kunden ausgewählt, deren Einkäufe die Summe von 500 USD übersteigen. Dabei ist es egal, ob es "Gold"-Kunden sind oder nicht.
Auch bei inaktivierter datenbankinterner Optimierung wird zur Leistungsoptimierung empfohlen, die Direkt- SQL-Abfragen mithilfe des Tokens <TempTable> zu erstellen, wenn es eine Eingangszelle gibt.
Zur Vereinfachung wird in diesem Beispiel nicht das Token <OutputTempTable> verwendet. Um jedoch die datenbankinterne Optimierung beizubehalten und zu vermeiden, dass die Zielgruppen-IDs von der Datenbank wieder auf den Campaign-Server übertragen werden, müssen Sie in der Direkt-SQL-Abfrage das Token <OutputTempTable> verwenden. Beispiel:
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