Dicas para maximizar o SQL pushback
Para obter o melhor aumento de desempenho com a otimização do SQL, preste atenção aos itens desta seção.
Ordem de fluxo. A geração de SQL pode ser interrompida quando a função do nó não tem equivalente semântico em SQL, pois a funcionalidade de SPSS Modeler mineração de dados do é mais rica do que as operações tradicionais de processamento de dados suportadas pelo SQL padrão. Quando isso acontece, a geração de SQL também será suprimida para todos os nós de recebimento de dados. Portanto, o desempenho poderá ser melhorado significativamente ao reordenar os nós para colocar as operações que interrompem a SQL o mais distante possível. O otimizador SQL pode realizar uma certa quantidade de reordenação automaticamente, mas melhorias adicionais podem ser possíveis. Um bom candidato para isso é o nó Seleção, que geralmente pode ser trazido para frente. Consulte Nós compatíveis com pushback SQL para obter mais informações.
Expressões do CLEM. Se um fluxo não puder ser reordenado, você poderá alterar as opções de nó ou expressões do CLEM ou de outra forma reformular a forma como a operação é executada, de modo que não iniba mais a geração de SQL. Os nós Derivar, Selecionar e semelhantes podem ser comumente renderizados em SQL, desde que todos os operadores de expressão do CLEM tenham equivalentes SQL. A maioria dos operadores pode ser renderizada, mas há um número de operadores que inibe a geração de SQL (em particular, as funções de sequência [“@ functions”]). Às vezes, a geração é interrompida porque a query gerada se torna muito complexa para o banco de dados manipular. Consulte expressões e operadores CLEM compatíveis com pushback SQL para obter mais informações.
Múltiplos nós de entrada. Onde um fluxo tem vários nós de importação de dados, a geração de SQL é aplicada a cada ramificação de importação independentemente. Se a geração for parada em uma ramificação, ela poderá continuar em outra. Quando duas ramificações são mescladas (e as duas ramificações podem ser expressas em SQL até a mesclagem), a mesclagem em si geralmente poderá ser substituída por uma junção de banco de dados, e a geração poderá continuar posteriormente.
Escoragem de pontuação. A escoragem dentro do banco de dados é suportada para alguns modelos ao renderizar o modelo gerado em SQL. No entanto, alguns modelos geram expressões SQL extremamente complexas que nem sempre são avaliadas de forma eficaz no banco de dados. Por esse motivo, a geração de SQL deve ser ativada separadamente para cada nugget do modelo gerado. Se você achar que um nugget do modelo está inibindo a geração de SQL, abra as configurações do nugget do modelo e selecione Gerar SQL para este modelo (com alguns modelos, é possível ter opções adicionais controlando a geração). Execute testes para confirmar que a opção é benéfica para o seu aplicativo. Consulte Nós compatíveis com pushback SQL para obter mais informações.
Ao testar os nós de modelagem para verificar se a geração de SQL para modelos funciona de maneira eficaz, recomendamos primeiro salvar todos os fluxos de SPSS Modeler. Observe que alguns sistemas de banco de dados podem travar ao tentar processar o SQL gerado (potencialmente complexo).
Armazenamento em cache de banco de dados. Se você estiver usando um cache de nó para salvar dados em pontos críticos no fluxo (por exemplo, seguindo um nó de mesclagem ou agregado), certifique-se de que o armazenamento em cache do banco de dados esteja ativado junto com a otimização SQL. Isso permitirá que os dados sejam armazenados em cache em uma tabela temporária no banco de dados (ao invés de no sistema de arquivos) na maioria dos casos.
SQL específico do fornecedor. A maioria da SQL gerada está de acordo com as normas e padrões (SQL-92), mas alguns recursos não padrão específicos do fornecedor são explorados quando viável. O grau de otimização de SQL pode variar, dependendo da origem do banco de dados.