索引扫描
您的朋友住在夏威夷,火山烟雾让他的哮喘加重。您正用美国环保署(Environmental Protection Agency)的县级空气质量数据,帮他寻找新的居住地。您决定:他的新家在至少 90% 的天数里,空气质量都应为良好。
您知道美国的县很多,而且空气质量这张表非常大。您第一次查询(未展示)执行了顺序扫描,运行时间很长。
您决定给记录良好空气质量天数的列添加一个索引。请查看查询计划,并观察扫描的类型。
本练习是课程的一部分
提升 PostgreSQL 查询性能
练习说明
- 使用
good列为annual_aqi表创建一个索引。 - 只包含全年中
good空气质量天数至少占 90% 的结果。 - 关注最近年份,将
aqi_year限制为 2017 和 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 (___,___);