2008年3月3日星期一

索引与Null值对于Hints及执行计划的影响

set autotrace=ON 失败的解决办法

由于B*Tree索引不存储Null值,所以在索引字段允许为空的情况下,某些Oracle查询不会使用索引.

很多时候,我们看似可以使用全索引扫描(Full Index Scan)的情况,可能Oracle就会因为Null值的存在而放弃索引.

在此情况下即使使用Hints,Oracle也不会使用索引,其根本原因就是因为Null值的存在.

http://www.eygle.com/faq/AutoTrace.htm