Une requête BigQuery avec une clause WHERE sur l'horodatage et l'ID déclenche toujours une analyse complète de la table. Avec des modifications SQL minimales, comment réduire le nombre d'octets analysés ?
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Recréer la table avec une colonne de partitionnement et une colonne de clustering..
Pourquoi c'est la réponse
La recréation de la table avec une colonne de partitionnement (par exemple, sur la colonne d'horodatage) et une colonne de clustering (par exemple, sur la colonne d'ID) est la solution la plus efficace. Le partitionnement permet à BigQuery de ne scanner que les partitions pertinentes basées sur la clause WHERE de l'horodatage, tandis que le clustering organise les données au sein de chaque partition par ID, réduisant ainsi le nombre d'octets lus pour les requêtes filtrant sur l'ID. Créer une table séparée pour chaque ID est ingérable et inefficace. LIMIT réduit les résultats mais pas les octets scannés. --maximumbytesbilled est une mesure de contrôle des coûts, pas une optimisation des performances de scan.
Réussissez votre examen — sans la chasse aux réponses interminable
Obtenez toutes les questions et explications vérifiées pour cet examen en un seul endroit, et économisez des heures de préparation. Plus de 1 000 certifications · Plus de 20 langues · Gratuit pour commencer.
Réussissez votre examen plus rapidement → Pas de carte requise