Index scans
Je vriend woont op Hawaï, waar de vulkanische smog zijn astma verergert. Je helpt hem nieuwe woonplekken te onderzoeken met de luchtkwaliteitsgegevens per county van de Environmental Protection Agency. Je besluit dat zijn nieuwe huis op minstens 90% van de dagen een goede luchtkwaliteit moet hebben.
Je weet dat er veel counties in de VS zijn en dat de luchtkwaliteitstabel groot is. Je eerste query (niet getoond) deed een sequentiële scan en had veel tijd nodig.
Je besluit een index toe te voegen aan de kolom die het aantal dagen met goede luchtkwaliteit bijhoudt. Bekijk het queryplan en let op het type scan.
Deze oefening maakt deel uit van de cursus
Queryprestaties verbeteren in PostgreSQL
Oefeninstructies
- Maak een index voor de
annual_aqi-tabel met de kolomgood. - Neem alleen resultaten op met
goodluchtkwaliteit op minstens 90% van het jaar. - Richt je op recente jaren door
aqi_yearte beperken tot 2017 en 2018.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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 (___,___);