Postgresql 如何使用索引有效地查找空字段
我有一个查询,试图从数百万条记录中找到一个空字段。只有一两个 查询如下所示:Postgresql 如何使用索引有效地查找空字段,postgresql,Postgresql,我有一个查询,试图从数百万条记录中找到一个空字段。只有一两个 查询如下所示: SELECT * FROM “table” WHERE “id” = $1 AND “end_time” IS NULL ORDER BY “start_time” DESC LIMIT 1 如何使此查询更高效(例如使用数据库中的索引)。尝试使用部分索引,例如: create index iname on "table" (id, start_time) where end_time is null;
SELECT *
FROM “table”
WHERE “id” = $1
AND “end_time” IS NULL
ORDER BY “start_time” DESC LIMIT 1
如何使此查询更高效(例如使用数据库中的索引)。尝试使用部分索引,例如:
create index iname on "table" (id, start_time) where end_time is null;
尝试一个部分索引我相信一个带有
id,start\u time
的部分综合索引也会更好地帮助排序-带有start\u time!是的,这很有道理——谢谢。再说一遍:)如果OP在结束时间中有几个空值-排序开始时间不会花两行的时间,这就是我最后要做的。工作得很有魅力