Indexes and Nulls【每日一译】--20121211

本文探讨了Oracle数据库中如何处理索引中的NULL值。详细解释了在不同类型的索引中,NULL值是如何被视为唯一的,以及唯一性索引如何防止包含NULL值的行被视为相同。此外还介绍了Oracle在位图索引或聚簇主键列值为NULL时如何处理全为NULL的行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

of bitmap indexes or when the cluster key column value is NULL.

NULL值在索引中被认为是彻底的例外当所有非空值的索引2行或多行是相同的,在这种情况下

这些行是被认为是相同的。所以,唯一性索引防止行包含NULL值以防它们被作为相同值处理。

它不会应用在没有非空值上,换句话说,如果行是整个是NULL;

ORACLE不会索引表上的行,这些行在所有主键列上是NULL,除非是在位图索引或者当聚簇主键列

的值是空的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值