Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Existe diferença de performance entre usar GroupBY/Having e With/Groupby/Select/Where?

Existe diferença de performance entre usar GroupBY/Having e With/Groupby/Select/Where?

Em relação a custo, seria o mesmo, ja que ambas retornam a mesma quantidade de informação?

1 resposta
solução!

Olá Pablo, tudo bem?

Quando falamos de performance e custo no BigQuery, é importante entender que tanto o uso de GROUP BY com HAVING quanto o uso de WITH (ou CTE) seguido de GROUP BY e WHERE, podem ter pequenas diferenças, dependendo da consulta e sua complexidade.

  • GROUP BY com HAVING é direto e fácil de ler, geralmente utilizado em consultas mais simples. O HAVING é útil para filtrar resultados após as agregações, o que facilita a manutenção do código.

  • WITH seguido de GROUP BY e WHERE pode deixar consultas complexas mais organizadas, dividindo a lógica em partes menores. Em alguns casos, a performance pode variar dependendo de como o BigQuery otimiza a consulta, mas na maioria das vezes a diferença de custo e tempo é pequena.

O BigQuery cobra com base na quantidade de dados processados. Se as duas consultas processam a mesma quantidade de dados e retornam os mesmos resultados, o custo será semelhante. Vale sempre testar com seus dados, pois a estrutura e complexidade podem impactar o desempenho.

Espero ter esclarecido.

Qualquer dúvida, não hesite em compartilhar no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado