各种Oracle索引类型介绍
2017-04-01 11:00
302 查看
逻辑上: Single column 单行索引 Concatenated 多行索引 Unique 唯一索引 NonUnique 非唯一索引 Function-based函数索引 Domain 域索引 物理上: Partitioned 分区索引 NonPartitioned 非分区索引 B-tree: Normal 正常型B树 Rever Key 反转型B树 Bitmap 位图索引 索引结构: B-tree: 适合与大量的增、删、改(OLTP); 不能用包含OR操作符的查询; 适合高基数的列(唯一值多) 典型的树状结构; 每个结点都是数据块; 大多都是物理上一层、两层或三层不定,逻辑上三层; 叶子块数据是排序的,从左向右递增; 在分支块和根块中放的是索引的范围; Bitmap: 适合与决策支持系统; 做UPDATE代价非常高; 非常适合OR操作符的查询; 基数比较少的时候才能建位图索引; 树型结构: 索引头 开始ROWID,结束ROWID(先列出索引的最大范围) BITMAP 每一个BIT对应着一个ROWID,它的值是1还是0,如果是1,表示着BIT对应的ROWID有值
1. b-tree索引 Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。CREATE INDEX语句时,默认就是在创建b-tree索引。没有特别规定可用于任何情况。 2. 位图索引(bitmap index) 位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况。 3. 基于函数的索引 比如经常对某个字段做查询的时候是带函数操作的,那么此时建一个函数索引就有价值了。 4. 分区索引和全局索引 这2个是用于分区表的时候。前者是分区内索引,后者是全表索引 5. 反向索引(REVERSE) 这个索引不常见,但是特定情况特别有效,比如一个varchar(5)位字段(员工编号)含值 (10001,10002,10033,10005,10016..) 这种情况默认索引分布过于密集,不能利用好服务器的并行 但是反向之后10001,20001,33001,50001,61001就有了一个很好的分布,能高效的利用好并行运算。 6.HASH索引 HASH索引可能是访问数据库中数据的最快方法,但它也有自身的缺点。集群键上不同值的数目必须在创建HASH集群之前就要知道。需要在创建HASH集群的时候指定这个值。使用HASH索引必须要使用HASH集群。
相关文章推荐
- 各种Oracle索引类型介绍
- ORACLE中的各种数据类型详细的介绍
- ORACLE中的各种数据类型详细的介绍
- Java各种数据类型详细介绍及其区别
- Java各种数据类型详细介绍及其区别
- Spring AOP使用整理:各种通知类型的介绍
- 各种光纤接口类型介绍
- Java各种数据类型详细介绍及其区别
- NAL单元的各种类型介绍
- 各种光纤接口类型介绍
- Spring AOP使用整理:各种通知类型的介绍
- [转]ORACLE各种数据类型详细介绍
- Java各种数据类型详细介绍及其int与Integer的区别
- Linux中各种文件系统类型介绍
- FreeMarker标签介绍及各种数据类型处理
- ORACLE中的各种数据类型详细的介绍
- ORACLE中的各种数据类型详细的介绍
- Java各种数据类型详细介绍及其区别
- ORACLE中的各种数据类型详细的介绍
- delphi中的各种文件类型介绍