sql - PostgreSQL 性能:NOT NULL 列上的索引是否比 NOT NULL 列快?
问题描述
在包含数千万条记录的生产表中,我们发现我们有一个(索引的)字符串列,在域逻辑中永远不会为 NULL。但是,此列当前在架构中不强制为 NOT NULL。
现在我们想知道:查询索引(允许 NULL)列与索引 NOT NULL 列之间是否存在性能差异?还是真的不重要?在这两种情况下,索引在 Postgres 中(/可以)存储的方式是否不同?
解决方案
不,这完全无关紧要。NULL
索引中的值没有特殊处理。唯一的例外是一个UNIQUE
索引可以包含几个NULL
s,但这对性能没有影响。
推荐阅读
- c++ - 如何在 Visual Studio 中更改默认代码
- javascript - discordjs v12 无法读取未定义的属性角色
- python - Python Tkinter Button 命令的问题
- python - 如何存储可迭代函数的输出
- php - php exec 输出由于重音而被截断
- neo4j - 找到没有与 Hugo Weaving 一起演戏但与他的合作演员一起演戏的演员,并在这些演员身上设置一个具有价值的财产行为
- reactjs - 为什么我不能在 React Native 的 Animated.event() 中触发 nativeEvent 回调?
- android - 交换接口的混凝土时Dagger 2 MissingBinding
- swiftui - SwiftUI:使用条件布局在画布中显示预览
- django - /class101/ 处的 OperationalError(1054,“‘字段列表’中的未知列‘group20.student_id’”) - 如何解决?