Uma consulta BigQuery com WHERE em timestamp e ID ainda aciona um full table scan. Com o mínimo de alterações SQL, como você reduz os bytes escaneados?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Recrie a tabela com uma coluna de particionamento e uma coluna de clustering..
Por que esta é a resposta
A recriação da tabela com particionamento (por timestamp) e clustering (por ID) é a solução mais eficaz. O particionamento divide a tabela em partes menores com base no timestamp, permitindo que o BigQuery escaneie apenas as partições relevantes para a sua consulta. O clustering organiza os dados dentro de cada partição pelo ID, otimizando ainda mais a busca e reduzindo os bytes escaneados. Criar uma tabela separada para cada ID é inviável para grandes volumes de dados e complexo de gerenciar. Usar LIMIT apenas restringe o número de linhas retornadas, mas não impede o full table scan inicial. A flag bq query --maximumbytesbilled é um mecanismo de segurança para evitar custos excessivos, mas não otimiza a consulta em si.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão