当前位置:Gxlcms > 数据库问题 > 各种Oracle索引类型介绍

各种Oracle索引类型介绍

时间:2021-07-01 10:21:17 帮助过:13人阅读

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

1.逻辑结构:

所谓逻辑结构就是数据与数据之间的关联关系,准确的说是数据元素之间的关联关系。

注:所有的数据都是由数据元素构成,数据元素是数据的基本构成单位。而数据元素由多个数据项构成。

逻辑结构有四种基本类型:集合结构、线性结构、树状结构和网络结构。也可以统一的分为线性结构和非线性结构。

2.物理结构:

数据的物理结构就是数据存储在磁盘中的方式。官方语言为:数据结构在计算机中的表示(又称映像)称为数据的物理结构,或称存储结构。它所研究的是数据结构在计算机中的实现方法,包括数据结构中元素的表示及元素间关系的表示。

而物理结构一般有四种:顺序存储,链式存储,散列,索引

3.逻辑结构的物理表示:

线性表的顺序存储则可以分为静态和非静态:静态存储空间不可扩展,初始时就定义了存储空间的大小,故而容易造成内存问题。

线性表的链式存储:通过传递地址的方式存储数据。

单链表:节点存储下一个节点的地址-------------->单循环链表:尾节点存储头结点的地址

双链表:节点存储前一个和后一个节点的地址,存储两个地址。---------------->双循环链表:尾节点存储头结点的地址。

4.高级语言应用:

数组是顺序存储

指针则是链式存储

各种Oracle索引类型介绍

标签:它的   upd   自身   ora   大量   har   cti   hash   编号   

人气教程排行