Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL索引是否为空值?_Postgresql - Fatal编程技术网

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“曾经忽略空值”的引用?