Wenn Sie eine Direkt-SQL-Abfrage in einem Prozess vom Typ "Auswählen" mit ei-
ner Eingabezelle verwenden, hängt das Verarbeitungsverhalten davon ab, ob Sie
die datenbankinterne Optimierung verwenden. (Die datenbankinterne Optimierung
wird global mit der Konfigurationseinstellung Datenbankinterne Optimierung
verwenden gesteuert. Für einzelne Ablaufdiagramme wird sie mit der Option Ab-
laufdiagrammausführung mit datenbankinterner Optimierung im Menü Verwal-
tung gesteuert.)
v Wenn die datenbankinterne Optimierung inaktiviert ist: Die Liste der IDs aus
v Wenn die datenbankinterne Optimierung aktiviert ist: In Campaign wird davon
Erläuterungen zur datenbankinternen Optimierung finden Sie im IBM Campaign-
Administratorhandbuch.
Beispiel: Verwenden der Tokens TempTable und OutputTempTab-
le
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" be-
rechnet (dabei kann es sich um Millionen von Kunden handeln). Anschließend
werden alle Kunden ausgewählt, deren Einkäufe die Summe von 500 USD über-
steigen. Dabei ist es egal, ob es "Gold"-Kunden sind oder nicht.
Auch bei inaktivierter datenbankinterner Optimierung wird zur Leistungsoptimie-
rung empfohlen, die Direkt- SQL-Abfragen mithilfe des Tokens <TempTable> zu
erstellen, wenn es eine Eingangszelle gibt.
146
IBM Campaign: Benutzerhandbuch - v9.1.1
der Direkt-SQL-Abfrage wird automatisch mit der ID-Liste aus der Eingangszelle
abgeglichen. Die resultierende Liste von IDs enthält eine Teilmenge der Zelle,
wie zu erwarten war.
ausgegangen, dass die vom Prozess "Auswählen" generierte ID-Liste die endgül-
tige Liste ist. Campaign gleicht diese Liste nicht mit der ID-Liste einer eingehen-
den Zelle ab. Aus diesem Grund muss die Direkt-SQL-Abfrage für einen tempo-
rären Auswahlprozess (ein Prozess "Auswählen" mit einer Eingabezelle) das
Token <TempTable> verwenden, um eine korrekte Verbindung mit der eingehen-
den Zelle herzustellen. Die Verbindung mit einer Eingabezelle gewährleistet kor-
rekte Ergebnisse und verbessert die Leistung, indem eine überflüssige Verarbei-
tung von nicht in der Eingabezelle enthaltenen Zielgruppen-IDs verhindert wird.