如果我有这样的表:
Food
-----------------
name | price | x
Run Code Online (Sandbox Code Playgroud)
假设我在名称和价格上创建了一个索引,但是数据库在某些行中为名称和价格提供了一堆空值。PostgreSQL是否自动跳过对这些行建立索引?
不,NULL值也会被索引。
您还可以使用索引来加快条件,例如
WHERE col IS NULL
Run Code Online (Sandbox Code Playgroud)
Oracle用户可能会感到惊讶的是,您可以在唯一索引中包含几行带有NULL的行。但这是有道理的,因为NULL = NULL事实并非如此。