Como a carga de trabalho afeta o desempenho da tabela dinâmica¶
Otimizar a carga de trabalho em seu pipeline ajuda a reduzir custos e melhorar o desempenho em geral. A Snowflake recomenda começar sua otimização ajustando sua carga de trabalho, pois essa é a maneira mais eficaz de melhorar o desempenho das atualizações de suas tabelas dinâmicas.
Consultas¶
Observe mais de perto as consultas em suas tabelas dinâmicas e procure maneiras de diminuir sua carga de trabalho, como as seguintes:
Adicionar filtros para reduzir a quantidade de dados verificados.
Eliminar duplicatas no início do pipeline e, posteriormente, evitar o uso de
DISTINCT
.Reduzir o uso de
NULL
e garantir a integridade referencial em seus dados de origem para que você possa substituir junções externas por junções internas.Evitar materializar colunas grandes e lidas com pouca frequência.
Localidade¶
Considere o layout de seus dados nas tabelas. Para um bom desempenho, os dados que suas consultas acessam devem estar próximos, o que é conhecido como localidade.
Por exemplo, se você precisa pesquisar linhas de forma eficiente por uma coluna específica, a tabela deve ser clusterizada por essa coluna. O ideal é que a localidade de suas tabelas esteja alinhada com a estrutura das suas consultas, clusterizando-as pelas chaves JOIN, GROUP BY, e PARTITION BY quando possível. Para se beneficiar do clustering, a sequência de chaves de clustering deve compartilhar um prefixo comum com a sequência de chaves de particionamento.
Otimizar a localidade envolve compensações. É desafiador otimizar a localidade em muitas colunas simultaneamente, então concentre-se naquelas de maior impacto para obter o melhor desempenho. Para obter mais informações, consulte Explicação das estruturas de tabela do Snowflake.