B-Tree索引/位图索引/反向索引/函数索引/降序索引/分区索引
oracle导致索引失效的情况
1、使用不等于操作符
2、使用is null或is not null
3、使用函数
4、比较不匹配的数据类型
5、复合索引中的前导列没有被作为查询条件
6、查询的数量是大表的大部分
7、对小表查询
8、like "%_"百分号在前
反向索引:使用数据时(常见于批量插入操作)都比较集中在一个连续的数据范围内,那么在使用正常的索引时就很容易发生索引叶子块过热的现象,严重 时将会导致系统性能下降。比如9000-9999,反向则为0009-9999
位图索引 | B-TREE索引 |
适合与决策支持系统 | 在访问小数据量的情况下比较适用 |
做UPDATE代价非常高 | 适合与大量的增、删、改 |
基数比较少的时候才能建位图索引 | 适合高基数的列(唯一值多) |
不能用包含OR操作符的查询 | 非常适合OR操作符的查询 |