Een BigQuery-query met WHERE op timestamp en ID triggert nog steeds een volledige tabelscan. Hoe verminder je het aantal gescande bytes met minimale SQL-wijzigingen?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Maak de tabel opnieuw aan met een partitioneringskolom en een clusteringkolom..
Waarom dit het antwoord is
De juiste aanpak is het opnieuw aanmaken van de tabel met een partitioneringskolom en een clusteringkolom. Door de tabel te partitioneren op de timestamp-kolom (bijvoorbeeld per dag) en te clusteren op de ID-kolom, kan BigQuery efficiënter specifieke datablokken scannen die relevant zijn voor de WHERE-clausule. Dit vermindert significant het aantal gescande bytes. Het maken van een aparte tabel per ID is onpraktisch en leidt tot beheercomplexiteit. Het LIMIT-keyword vermindert alleen het aantal geretourneerde rijen, niet het aantal gescande bytes. De --maximumbytesbilled flag voorkomt dat de query wordt uitgevoerd als deze te veel bytes scant, maar optimaliseert de query zelf niet.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig