Exemplo: Usando os símbolos TempTable e OutputTempTable
Este exemplo mostra como usar os tokens TempTable e OutputTempTable em uma consulta de SQL bruto.
Assuma que você possui um processo Select1 que seleciona 10.000 clientes que sejam clientes "Gold" (por exemplo, Indiv.AcctType = 'Gold'). Em seguida, conecte Select1 a um segundo processo de Seleção ("Select2") usando uma consulta de SQL bruto:
Select p.CustID from Indiv p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500
Este exemplo seleciona os clientes cuja soma de compras excede $500 e que estejam na célula de entrada (em outras palavras, clientes que possuem um tipo de conta "Gold").
Em contraste, uma consulta SQL bruta omitindo o símbolo <TempTable> e a junção:
Select p.CustID from Purchases p group by p.CustID having sum(p.PurchAmt) > 500
primeiro calcula a soma de compras para todos os clientes na tabela de Compras (que poderiam ser milhões de clientes) e, em seguida, seleciona todos os clientes cuja soma de compras excede $500, independentemente de serem clientes "Gold" ou não.
Assim, para obter o melhor desempenho, mesmo se a otimização no banco de dados estiver desativada, escreva suas consultas SQL brutas usando o símbolo <TempTable> quando houver uma célula de entrada.
Para simplificar, este exemplo não usa o símbolo <OutputTempTable>, mas mantém a otimização no banco de dados e evita que os IDs de público sejam recuperados do banco de dados de volta para o servidor do Campaign, você deve incluir o símbolo <OutputTempTable> em sua consulta SQL bruta. Por exemplo:
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