Index-Scans
Dein Freund lebt auf Hawaii, wo der vulkanische Smog sein Asthma verschlimmert. Du hilfst ihm, neue Wohnorte zu recherchieren, und nutzt dafür die Luftqualitätsdaten der Environmental Protection Agency auf County-Ebene. Ihr entscheidet, dass sein neues Zuhause an mindestens 90 % der Tage gute Luftqualität haben sollte.
Du weißt, dass es in den USA viele Countys gibt und die Luftqualitätstabelle groß ist. Deine erste Abfrage (nicht gezeigt) hat einen sequentiellen Scan durchgeführt und lange gebraucht.
Du entscheidest dich, der Spalte, die die Anzahl der Tage mit guter Luftqualität erfasst, einen Index hinzuzufügen. Untersuche den Query-Plan und sieh dir die Art des Scans an.
Diese Übung ist Teil des Kurses
Abfrageleistung in PostgreSQL verbessern
Anleitung zur Übung
- Erstelle einen Index für die Tabelle
annual_aqiauf der Spaltegood. - Nimm nur Ergebnisse auf, bei denen
goodan mindestens 90 % des Jahres vorliegt. - Konzentriere dich auf die letzten Jahre, indem du
aqi_yearauf 2017 und 2018 begrenzt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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 (___,___);