Práticas recomendadas para otimizar o desempenho da tabela dinâmica¶
Para otimizar o desempenho das suas tabelas dinâmicas, você deve entender o sistema, experimentar ideias e iterar com base nos resultados. Por exemplo:
Desenvolva maneiras de melhorar seu pipeline de dados com base em suas necessidades de custo, atraso de dados e tempo de resposta.
Implemente as seguintes ações:
Comece com um conjunto de dados pequeno e fixo para desenvolver consultas rapidamente.
Teste o desempenho com dados em movimento.
Dimensione o conjunto de dados para verificar se ele atende às suas necessidades.
Ajuste sua carga de trabalho com base nas descobertas.
Repita conforme necessário, priorizando tarefas com maior impacto no desempenho.
Além disso, use o atraso de downstream para gerenciar dependências de atualização entre tabelas de forma eficiente, garantindo que as atualizações ocorram somente quando necessário.
Nota
Quando consultadas, as tabelas dinâmicas funcionam de forma semelhante às tabelas Snowflake comuns. Para obter mais informações, consulte Como otimizar o desempenho no Snowflake.
Desempenho de atualização completa¶
As tabelas dinâmicas de atualização completa têm um desempenho semelhante a CREATE TABLE … AS SELECT (também chamado de CTAS). Elas podem ser otimizadas como qualquer outra consulta Snowflake.
Desempenho de atualização incremental¶
Para ajudar a atingir o desempenho ideal de atualização incremental para suas tabelas dinâmicas:
Mantenha as alterações entre as atualizações mínimas, de preferência menos de 5% do conjunto de dados total, tanto para as fontes quanto para a tabela dinâmica.
Considere o número de micropartições modificadas, não apenas a contagem de linhas. A quantidade de trabalho que uma atualização incremental deve fazer é proporcional ao tamanho dessas micropartições, não apenas das linhas que foram alteradas.
Minimize as operações de agrupamento como junções, GROUP BYs e PARTITION BYs em sua consulta. Divida grandes expressões de tabela comuns (CTEs) em partes menores e crie uma tabela dinâmica para cada uma. Evite sobrecarregar uma única tabela dinâmica com agregações ou junções excessivas.
Garanta a localidade dos dados alinhando as alterações de tabela com as chaves de consulta (por exemplo, para junções, GROUP BYs, PARTITION BYs). Se suas tabelas não forem naturalmente clusterizadas por essas chaves, considere habilitar o clustering automático.