B树索引(B-Tree index)
适用范围:1)OLTP系统中
2)主键、唯一性约束
3)重复度非常低的字段
不适用范围:重复度非常高的字段
特性:1)执行效率非常高
2)查询时间基本不受数据量的影响
3)如果重复度非常高,使用B-Tree索引还没有全盘扫描效率高
位图索引(Bitmap index)
适用范围:1)OLAP系统中
2)主要是重复数据导致的查询性能低的问题,用来弥补B-Tree性能低的问题
3)使用OR\AND这类逻辑操作
不适用范围:大量DML操作、重复率较低的字段
特性:1)适合在索引字段间进行OR\AND这类逻辑运算
2)位图索引占用的空间比BTree索引用的少的多
3)位图索引不适用于大量的DML操作(除select外),因为每个DML操作对应的位图索引键值对应多条数据,修改时键值会被上锁,如果此时其他用户需要更改数据,就会造成阻塞。
全文索引(Text index)
适用范围:1)模糊查询
2)数据库空间种族,因为全文索引比较占用空间
3)语言文字范畴
不适用范围:全文索引占用大量的空间,不适合在硬盘资源紧张的库中(原数据的1.5倍)
BUG比较多,维护困难
特性:1)适用于不变的数据,因为DML的新数据,不会在全文索引中包含
2)由于全文索引不是基于事物的,一旦有DML,就需要重新构建这个全文索引:alter index t_idx rebuild parmeters('sync');