Zacznij terazZacznij za darmo

Skanowanie indeksów

Twój znajomy mieszka na Hawajach, gdzie wulkaniczne smogi zaostrzają jego astmę. Pomagasz mu znaleźć nowe miejsce do zamieszkania, korzystając z danych o jakości powietrza na poziomie hrabstw, zebranych przez Agencję Ochrony Środowiska. Postanawiacie, że nowy dom powinien znajdować się w miejscu, gdzie jakość powietrza jest dobra przez co najmniej 90% dni w roku.

Wiesz, że hrabstw w USA jest bardzo dużo, a tabela z danymi o jakości powietrza jest duża. Pierwsze zapytanie (nieprzedstawione tutaj) wykonało sekwencyjne skanowanie i działało bardzo długo.

Decydujesz się dodać indeks do kolumny śledzącej liczbę dni z dobrą jakością powietrza. Przeanalizuj plan zapytania i sprawdź, jakiego rodzaju skanowanie zostało zastosowane.

To ćwiczenie jest częścią kursu

Optymalizacja wydajności zapytań w PostgreSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz indeks dla tabeli annual_aqi na kolumnie good.
  • Uwzględnij tylko wyniki, w których jakość powietrza jest good przez co najmniej 90% roku.
  • Ogranicz dane do ostatnich lat, filtrując aqi_year do wartości 2017 i 2018.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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 (___,___);
Edytuj i uruchom kod