Oracle之SQL优化题库.pptVIP

  • 5
  • 0
  • 约6.99千字
  • 约 39页
  • 2017-07-21 发布于湖北
  • 举报
避免在索引列上使用IS NULL和IS NOT NULL 避免在索引中使用任何可以为空的列,ORACLE将无法使用该索引 .对于单列索引,如果列包含空值,索引中将不存在此记录. 对于复合索引,如果每个列都为空,索引中同样不存在此记录. 如果至少有一个列不为空,则记录存在于索引中 . 如果唯一性索引建立在表的A列和B列上, 并且表中存在一条记录的A,B值为(123,null) , ORACLE将不接受下一条具有相同A,B值(123,null)的记录(插入). 然而如果所有的索引列都为空,ORACLE将认为整个键值为空而空不等于空. 因此你可以插入1000条具有相同键值的记录,当然它们都是空. 因为空值不存在于索引列中,所以WHERE子句中对索引列进行空值比较将使ORACLE停用该索引. 总是使用索引的第一个列 如果索引是建立在多个列上, 只有在它的第一个列(leading column)被where子句引用时,优化器才会选择使用该索引. 使用提示(Hints) 对于表的访问,可以使用两种Hints:FULL 和 ROWID FULL hint 告诉ORACLE使用全表扫描的方式访问指定表. select /*+full(so_nbr)*/* from work_item_so where local_net_id =‘290’ select

文档评论(0)

1亿VIP精品文档

相关文档