Oracle 索 引 的 分 类 :使用特殊索引的注意事项

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