Сканування за індексом
Ваш друг мешкає на Гаваях, де вулканічний смог загострює його астму. Ви допомагаєте йому шукати нове місце для життя, використовуючи дані Агентства з охорони довкілля США про якість повітря на рівні округів. Ви вирішуєте, що його новий дім має мати добру якість повітря щонайменше у 90% днів.
Ви знаєте, що в США багато округів, а таблиця з якістю повітря — велика. Ваш перший запит (не показано) виконав послідовне сканування і працював довго.
Ви вирішуєте додати індекс до стовпця, який відстежує кількість днів із доброю якістю повітря. Перегляньте план запиту та подивіться тип сканування.
Ця вправа є частиною курсу
Покращення продуктивності запитів у PostgreSQL
Інструкції до вправи
- Створіть індекс для таблиці
annual_aqi, використавши стовпецьgood. - Уключіть лише результати з «доброю» якістю повітря щонайменше у 90% днів року.
- Зосередьтеся на останніх роках, обмеживши
aqi_year2017 і 2018 роками.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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 (___,___);