【发布时间】:2018-01-24 22:37:25
【问题描述】:
我创建了一个索引但没有指定排序或空值 first/last 例如:
CREATE INDEX index_name ON TABLE table_name (date)
现在我的ORDER BY DESC NULLS LAST 查询运行非常缓慢。
我在 PostgreSQL 文档中读到,
NULLS FIRST 指定空值排在非空值之前。这是 指定 DESC 时默认。
NULLS LAST 指定空值排在非空值之后。这是 未指定 DESC 时默认。
因此,如果我创建这样的索引(对于 col date):
CREATE INDEX index_name ON TABLE table_name (date DESC NULLS LAST)
对于像这样的查询,我会获得显着的性能提升
SELECT * FROM table_name ORDER BY date DESC NULLS LAST LIMIT 50 OFFSET 0
?
【问题讨论】:
-
尝试并报告。
标签: postgresql indexing