NULL values in indexes are considered to be distinct except when all the non-NULL
values in two or more rows of an index are identical, in which case the rows are
considered to be identical. Therefore, UNIQUE indexes prevent rows containing NULL
values from being treated as identical. This does not apply if there are no non-NULL
values—in other words, if the rows are entirely NULL.
Oracle does not index table rows in which all key columns are NULL, except in the case
values in two or more rows of an index are identical, in which case the rows are
considered to be identical. Therefore, UNIQUE indexes prevent rows containing NULL
values from being treated as identical. This does not apply if there are no non-NULL
values—in other words, if the rows are entirely NULL.
Oracle does not index table rows in which all key columns are NULL, except in the case
of bitmap indexes or when the cluster key column value is NULL.
NULL值在索引中被认为是彻底的例外当所有非空值的索引2行或多行是相同的,在这种情况下
这些行是被认为是相同的。所以,唯一性索引防止行包含NULL值以防它们被作为相同值处理。
它不会应用在没有非空值上,换句话说,如果行是整个是NULL;
ORACLE不会索引表上的行,这些行在所有主键列上是NULL,除非是在位图索引或者当聚簇主键列
的值是空的情况。
本文探讨了Oracle数据库中如何处理索引中的NULL值。详细解释了在不同类型的索引中,NULL值是如何被视为唯一的,以及唯一性索引如何防止包含NULL值的行被视为相同。此外还介绍了Oracle在位图索引或聚簇主键列值为NULL时如何处理全为NULL的行。
87

被折叠的 条评论
为什么被折叠?



