摘要: 在NULL值与索引(一)中讲述了null值与索引的一些基本情况。其主要的内容为,基于允许存在null值的索引列,其索引值不会被存储;其次是由于这个特性导致了我们在使用is null时索引失效的情形;最后则是描述的通过为null值列添加not null约束来使得is null走索引。尽管我们可以通过添加not null来解决is null走索引,当现实中的情况是仍然很多列根本是无法确定的,而必须保持其null特性。对于此种情形该如何解决呢?一、通过基于函数的索引来使得is null使用索引-->演示环境 scott@ORCL> select * from v$version wher 阅读全文
posted @ 2012-04-08 19:04 生活不是用来挥霍的 阅读(282) 评论(0) 推荐(0)
摘要: NULL值是关系数据库系统布尔型(true,false,unknown)中比较特殊类型的一种值,通常称为UNKNOWN或空值,即是未知的,不确定的。由于NULL存在着无数的可能,因此NULL值也不等于NULL值,所以与NULL值相关的操作同样都为NULL值。正是基于这样一个特性,对于NULL值列上的B树索引导致了is null/is not null不走索引的情形,下面描述了NULL值与索引以及索引NULL列上的执行计划,如何使得NULL值走索引的情形。注:本文仅仅讨论的是B树索引上的NULL值,位图索引不在此范围之内。一、null值与索引的关系scott@ORCL> create ta 阅读全文
posted @ 2012-04-08 13:22 生活不是用来挥霍的 阅读(481) 评论(0) 推荐(0)