postgres 索引是否适用于 NULLS LAST 的两个方向?

RTW*_*RTW 3 postgresql

due_date如果我使用为可为空的时间戳列创建索引DESC NULLS LAST,那么索引也适用于ASC NULLS LAST查询吗?

也许它的性能会降低?或者我需要创建第二个索引?

在 postgres文档中,我们可以看到反向扫描空值成为第一个:

以升序存储且空值在前的索引可以满足 ORDER BY x ASC NULLS FIRST 或 ORDER BY x DESC NULLS LAST,具体取决于扫描的方向。

Lau*_*lbe 5

不; 索引顺序必须与子句相同或完全相反ORDER BY。索引DESC NULLS LAST仅适用于ORDER BY ... DESC NULLS LASTor ORDER BY ... ASC NULLS FIRST

  • 如果您需要支持不同的排序顺序,是的。 (2认同)