postgresql - Postgres 不使用索引,即使它被创建
问题描述
我有下表:
Table Creation
accident_info
(
accident_index varchar(20),
first_road_class varchar(20),
accident_severity varchar(20),
date date,
urban_or_rural_area varchar(20),
weather_conditions varchar(40),
year int,
inscotland varchar(20)
);
指数:
CREATE INDEX index1 ON accident_info(accident_info.first_road_class , accident_info.date)
CREATE INDEX index2 ON accident_info(vehicle_info.age_band_of_driver)
询问:
SELECT COUNT(accident_info.accident_index) as max, vehicle_info.make
FROM vehicle_info
INNER JOIN accident_info on vehicle_info.accident_index = accident_info.accident_index
WHERE vehicle_info.age_band_of_driver = '26 - 35' AND accident_info.first_road_class = 'A' AND accident_info.date > '2009-12-31' and accident_info.date < '2013-01-01'
GROUP BY make
ORDER BY max DESC
LIMIT 1
尽管我创建了两个索引,但 Postgres 并没有使用它们。为什么会这样?
解决方案
也许您的数据集太小而无法使用索引
推荐阅读
- javascript - 如何将 JSON 数据导入 Javascript 表?
- javascript - 在滚动时触发圆环图动画
- javascript - 重置 html 视频以开始
- java - 如何打印出字符串的随机字符?
- angular - TS2693 'string' 仅指一种类型,但在此处用作值
- python - Discord.py 如何从 discord.py 将 str 转换为特定类型
- python - tracemalloc 未检测到 python 中的内存泄漏
- python - Python 3:字符串到具有列表理解的变量
- bash - 在单个文件上运行多个 shell 命令并将输出重定向到同一个文件
- xml - 从子节点中选择父节点