PostgreSQL索引是否为空值?
如果我有这样一张桌子:PostgreSQL索引是否为空值?,postgresql,Postgresql,如果我有这样一张桌子: Food ----------------- name | price | x 假设我在name&price上创建了一个索引,但是数据库在某些行中的name&price都有一堆空值。PostgreSQL是否自动跳过对这些行的索引 否,空值也会被索引 您还可以使用索引来加速具有以下条件的查询 WHERE col IS NULL Oracle用户可能会感到惊讶的是,您可以在一个唯一索引中有多个空行。但这是有道理的,因为NULL=NULL不是真的。尝试插入空值并检查它是否被
Food
-----------------
name | price | x
假设我在name&price上创建了一个索引,但是数据库在某些行中的name&price都有一堆空值。PostgreSQL是否自动跳过对这些行的索引 否,空值也会被索引 您还可以使用索引来加速具有以下条件的查询
WHERE col IS NULL
Oracle用户可能会感到惊讶的是,您可以在一个唯一索引中有多个空行。但这是有道理的,因为
NULL=NULL
不是真的。尝试插入空值并检查它是否被索引?可能的重复情况是专门要求Postgres忽略空值,请执行。这里也有人问和回答:你有没有任何Postgres“曾经忽略空值”的引用?