使用特殊索引的注意事项

发表于:2007-05-25来源:作者:点击数: 标签:oracle注意事项索引特殊使用
在ORACLE里除了我们常用的B树索引外,还有一些特殊索引能被使用。 如:倒序索引,位映射索引,函数索引等。 我根据自己的体会,列一个注意事项: 倒序索引: ORACLE DOC上说倒序索引比较适合于序列号产生的字段,如唯一编号。 但是这样的索引对于范围的比较

   在ORACLE里除了我们常用的B树索引外,还有一些特殊索引能被使用。
  
   如:倒序索引,位映射索引,函数索引等。
  
   我根据自己的体会,列一个注意事项:
  
   倒序索引:
  
   ORACLE DOC上说倒序索引比较适合于序列号产生的字段,如唯一编号。
  
   但是这样的索引对于范围的比较,如 > < between ... and ... 等操作是不起作用的;
   只对 = in 等操作才会调用索引。
  
   所以一般的自动增长的PK字段还是用常规B树索引好一些。
  
   位映射索引:
  
   适合于唯一记录数较少,DML操作较少的字段。如历史数据表里的类别字段。
  
   它可以减少索引存储空间的占用,并提高访问速度。
  
   最好在查询时加提示/*+ first_rows */ 或者 /*+ index(表名 索引名)*/ 确认使用位映射索引。
  
   函数索引:
  
   需要修改数据库里面两个动态参数:
  
   QUERY_REWRITE_ENABLED=TRUE
   QUERY_REWRITE_INTEGRITY=TRUSTED
  
   函数索引才会在有提示/*+ first_rows */ 或者 /*+ index(表名 索引名)*/ 时被使用。
  

原文转自:http://www.ltesting.net