IniziaInizia gratis

Scansioni tramite indice

Il tuo amico vive alle Hawaii, dove lo smog vulcanico aggrava la sua asma. Lo aiuti a cercare nuove zone in cui vivere usando i dati sulla qualità dell’aria a livello di contea dell’Environmental Protection Agency. Decidi che la sua nuova casa dovrebbe avere una buona qualità dell’aria per almeno il 90% dei giorni.

Sai che ci sono molte contee negli USA e la tabella sulla qualità dell’aria è grande. La tua prima query (non mostrata) ha eseguito una scansione sequenziale e ha impiegato molto tempo.

Decidi quindi di aggiungere un indice alla colonna che tiene traccia del numero di giorni con buona qualità dell’aria. Esamina il piano di query e verifica il tipo di scansione.

Questo esercizio fa parte del corso

Migliorare le prestazioni delle query in PostgreSQL

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un indice per la tabella annual_aqi usando la colonna good.
  • Includi solo i risultati con qualità dell’aria good per almeno il 90% dell’anno.
  • Concentrati sugli anni recenti limitando aqi_year al 2017 e 2018.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

CREATE INDEX good_index 
ON ___(___);

EXPLAIN
SELECT state_name, county_name, aqi_year, good
FROM annual_aqi
WHERE ___ > 327 -- 90% of the year
AND ___ IN (___,___);
Modifica ed esegui il codice