Una query BigQuery con clausola WHERE su timestamp e ID continua a innescare una scansione completa della tabella. Con modifiche SQL minime, come si possono ridurre i byte scansionati?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Ricreare la tabella con una colonna di partizionamento e una colonna di clustering..
Perché questa è la risposta
La ricreazione della tabella con una colonna di partizionamento (ad esempio, per data/timestamp) e una colonna di clustering (ad esempio, per ID) è la soluzione più efficace. BigQuery può utilizzare queste colonne per filtrare i dati prima di eseguire una scansione completa, riducendo drasticamente i byte scansionati e i costi. Creare una tabella separata per ogni ID è impraticabile per un gran numero di ID e rende le query più complesse. La parola chiave LIMIT riduce solo il numero di righe restituite, non i byte scansionati. Il flag bq query --maximumbytesbilled limita la fatturazione, ma non riduce la quantità di dati scansionati, il che significa che la query potrebbe fallire se supera il limite.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta