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;

关于postgresql - 如何使用索引有效地找到空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45694529/

相关文章:

java - 查找 ColumnDefinition 枚举或常量

sql - 具有动态列数的 PostgreSQL 查询

node.js - 如何在数组中显示包含模型的特定列? Sequelize PostgreSQL

sql - postgres : find all integer columns with its current max value in it

postgresql - PL/pgSQL - 从 FUNCTION 返回单个记录

ruby - Sinatra Heroku PostgreSQL 连接不良

django - 尝试在 Heroku 上设置 Django 和 postgreSQL

django - 使用 Django 的 ORM 在每个消息线程中查找最新消息

sql - 在 Postgres JOIN 查询中区分 null 和 empty

postgresql - DBLINK vs Postgres_FDW,哪一个可以提供更好的性能?