Ejemplo: utilización de los tokens TempTable y OutputTempTable
Este ejemplo muestra cómo utilizar los tokens TempTable y OutputTempTable en una consulta en SQL sin formato.
Suponga que tiene un proceso Selección1 que selecciona 10.000 clientes "Gold" (por ejemplo, Indiv.AcctType = 'Gold'). Después conecta Selección1 a un segundo proceso Selección ("Selección2") utilizando una consulta en SQL sin formato:
Select p.CustID from Indiv p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500
Este ejemplo selecciona aquellos clientes cuya suma de compras supere 500 $ y que estén en la celda de entrada (es decir, clientes con una cuenta de tipo "Gold").
Por contra, una consulta en SQL sin formato que omita el token <TempTable> y la unión:
Select p.CustID from Compras p group by p.CustID having sum(p.PurchAmt) > 500
calcula en primer lugar la suma de las compras de todos los clientes de la tabla Compras (que podrían ser millones) y después selecciona todos clientes cuya suma de compras supere 500 $, independientemente de que sean clientes "Gold" o no.
Por tanto, a fin de lograr el mejor rendimiento, incluso estando inhabilitada la optimización en base de datos, escriba las consultas en SQL sin formato utilizando el token <TempTable> cuando haya una celda de entrada.
Por motivos de simplicidad, este ejemplo no utiliza el token <OutputTempTable>, pero, a fin de mantener la optimización en base de datos e impedir que los ID de audiencia se extraigan de la base de datos y se lleven hasta el servidor de Campaign, deberá incluir el token <OutputTempTable> en la consulta en SQL sin formato. Por ejemplo:
Create table <OutputTempTable> as Select p.CustID from Compras p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500