【发布时间】:2020-02-14 12:29:22
【问题描述】:
在包含数千万条记录的生产表中,我们发现我们有一个(索引的)字符串列,在域逻辑中永远不会为 NULL。但是,此列目前在架构中不强制为 NOT NULL。
现在我们想知道:查询索引(允许 NULL)列与索引 NOT NULL 列之间是否存在性能差异?还是真的不重要?在这两种情况下,索引在 Postgres 中(/可以)存储的方式是否不同?
【问题讨论】:
-
我不相信 b-tree 索引有任何性能差异。 Postgres 无论如何都会在索引中分离出
NULL值。如果没有,则标题部分将为空。
标签: sql postgresql indexing null