精华内容
下载资源
问答
  • oracle索引分类

    2019-12-04 14:06:01
    在关系数据库中,每一行... (一)索引按存储方法分类,可以分为2类:B*树索引和位图索引。  (1)B*树索引的存储结构类似书的索引结构,有分支和叶两种类型的存储数据块,分支块相当于书的大目录,叶块相当于索引...

    在关系数据库中,每一行都由一个行唯一标识RowID。RowID包括该行所在的文件、在文件中的块数和块中的行号。索引中包含一个索引条目,每一个索引条目都有一个键值和一个RowID,其中键值可以是一列或者多列的组合。
      (一)索引按存储方法分类,可以分为2类:B*树索引和位图索引
      (1)B*树索引的存储结构类似书的索引结构,有分支和叶两种类型的存储数据块,分支块相当于书的大目录,叶块相当于索引到的具体的书页。Oracle用B*树机制存储索引条目,以保证用最短路径访问键值。默认情况下大多使用B*树索引,该索引就是通常所见的唯一索引、逆序索引。
      (2)位图索引存储主要用于节省空间,减少oracle对数据块的访问。它采用位图偏移方式来与表的行ID号对应,采用位图索引一般是重复值太多的表字段。位图索引之所以在实际密集型OLTP(联机事物处理)中用的比较少,是因为OLTP会对表进行大量的删除、修改、新建操作。Oracle每次进行操作都会对要操作的数据块加锁。以防止多人操作容易产生的数据库锁等待甚至死锁现象。在OLAP(联机分析处理)中应用位图有优势,因为OLAP中大部分是对数据库的查询操作,而且一般采用数据仓库技术,所以大量数据采用位图索引节省空间比较明显。当创建表的命令中包含有唯一性关键字时,不能创建位图索引,创建全局分区索引时也不能用位图索引。
      (二)索引按功能和索引对象分还有以下类型。
      (1)唯一索引意味着不会有两行记录相同的索引键值。唯一索引表中的记录没有RowID,不能再对其建立其他索引。在oracle10g中,要建立唯一索引,必须在表中设置主关键字,建立了唯一索引的表只按照该唯一索引结构排序。
      (2)非唯一索引不对索引列的值进行唯一性限制。
      (3)Oracle索引分区   分区索引是指索引可以分散地存在于多个不同的表空间中,其优点是可以提高数据查询的效率。
      (4)未排序索引也称为正向索引。Oracle10g数据库中的行是按升序排序的,创建索引时不必指定对其排序而使用默认的顺序。
      (5)逆序索引也称反向索引。该索引同样保持列按顺序排列,但是颠倒已索引的每列的字节。
      (6)基于函数的索引是指索引中的一列或者多列是一个函数或者表达式,索引根据函数或表达式计算索引列的值。可以将基于函数的索引建立创建成位图索引
      另外,按照索引所包含的列数可以把索引分为单列索引和复合索引。索引列只有一列的索引为单列索引,对多列同时索引称为复合索引。

    类似文档参考 https://blog.csdn.net/bibibrave/article/details/80876967

    展开全文
  • Oracle索引分类

    2013-09-24 13:13:51
    B树索引和位图索引是按照索引的组织方式来分类的。 B树是指索引的组织方式是以索引块为节点的B+树,位图索引是按照索引值排列的。 函数索引: 顾名思义,这是指对列值做了函数之后存储的一种索引方式; 聚簇索引...
    B树索引和位图索引是按照索引的组织方式来分类的。
       B树是指索引的组织方式是以索引块为节点的B+树,位图索引是按照索引值排列的。
    
    函数索引:
        顾名思义,这是指对列值做了函数之后存储的一种索引方式;
    
    聚簇索引和非聚簇索引:
        这是按照索引与table的关系区分的,如果table中的内容按照索引的顺序存储,则该索引为聚簇索引,否则为非聚簇索引。
    
    1.1 B-树索引
    B-树索引在oracle中是一个通用索引, 在创建索引时它就是默认的索引类型. B树索引可以是单列也可以是复合索引, B-树索引最多可以包括32列.
     
    树叶块包含了索引值/ ROWID, 以及前一个和后一个树叶块的数据块地址(DBA). Oracle可以从两个方向遍历这个二叉树. B-树索引保存了在索引列上有值的每个数据行的ROWID值. Oracle不会对索引列上存有空值的行进行索引. 如果索引是多个列的组合索引, 而其中列上包含有空值, 这一行就会处于包含空值的索引列中, 且被处理为空.
    1.2 位图索引
    在位图索引中,oracle为每个唯一键创建一个位图, 然后把与键值所关联的ROWID保存为位图. 尽管位图索引最多可达30个列, 但通常他们都只用于少量的列.
    对于多个B-树索引来说, 每个索引返回一组ROWID, 这组ROWID必须与其他索引所产生的ROWID范围进行比较. 每个结果集必须被比较,组合并再与其他结果集进行比较, 直到最终的结果集被确定. 由于在位图中只存储一次一个唯一列, 当列不是B-树索引的唯一列时就节省了很多空间.
    在一个查询中合并多个B-树位图索引后,可以使性能显著提高. 位图索引使用固定长度的数据类型要比可变长度的数据类型好. 大的块也会提高对位图索引的存储和读取性能.
    建议不要在一些联机事务处理(OLTP)应用程序中使用位图索引. B-树索引的索引值中包含ROWID, 这样oracle就可以在行级别锁上锁定索引. 位图索引被存储为压缩的索引值, 其中包含了一个范围的ROWID. 因此Oracle必须对一个给定值锁定所有范围内的ROWID. 这种锁定可能在某些DML语句中造成死锁.
    1.3 HASH索引
    1.4 索引编排表
    1.5 反转键索引
    1.6 基于函数的索引
    1.7 分区索引
    分区索引(partitional index)就是简单地把一个索引分成多个片段. 通过把一个索引分成多个片段, 您可以访问更小的片段. 并且可以把这些片段分别存储在不同的硬盘上(避免IO问题);
    分区索引按照其前导列是否为分区字段可以区分为有前缀的索引和无前缀的索引两种.
    
    
    展开全文
  • Oracle 索引分类

    2010-12-28 17:26:02
    索引分类: 非唯一索引(最常用)  唯一索引  位图索引  局部有前缀分区索引  局部无前缀分区索引  全局有前缀分区索引  散列分区索引  基于函数的索引 位图索引 : 适...
    索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据。

    Oracle存储索引的数据结构是B*树,位图索引也是如此,只不过是叶子节点不同B*数索引。

    索引分类:

    非唯一索引(最常用)
      唯一索引
      位图索引
      局部有前缀分区索引
      局部无前缀分区索引
      全局有前缀分区索引
      散列分区索引
      基于函数的索引


    位图索引 : 适用于基数较小的表,有重复值。

    建索引时,注意的事项:

    (1). 索引不是越多越好
    (2). 有时候使得索引失效,是一种明智的选择 ,函数啊,连接啊, + 0 啊,都可以
    (3). 导入千万条数据的时候,一定注意建立一个唯一索引,导得快!
    (4). nologging创建索引 有时候挺好使的

    参考: http://tech.ccidnet.com/art/297/20060410/502191_1.html
    展开全文
  • oracle 索引分类

    2011-03-10 15:43:04
    B-TREE INDEX,B树索引:在创建索引时他是默认的索引类型,B树索引可以使单一列(简单)的索引,也可以是多个列(组合/复合)的索引。最多可以包括32列。适合:1,访问表中占很小比例的行,这样就可以使用索引快速...

    B-TREE INDEX,B树索引:在创建索引时他是默认的索引类型,B树索引可以使单一列(简单)的索引,也可以是多个列(组合/复合)的索引。最多可以包括32列。适合:1,访问表中占很小比例的行,这样就可以使用索引快速定位。 2,根本不访问表,所需查询的数据全部在索引中,比如查询的列就是索引,这样直接访问索引就可以得到结果。,多使用在OLTP系统中。

    BITMAP-INDEX,位图索引:是在列的值重复的非常多的情况下使用。当大多数条目比不会向位图添加新的值时,位图索引在加载表时比B树索引做的好。由于位图索引最大的用处就是当列值有很多重复的时候,所以他不能被声明成唯一索引。当使用alter table修改有位图索引的列的时候,位图索引失效,需重建索引。位图索引里是101010这类的,所以是不包含任何列数据的。

    反转建索引:当载入一些有序索引的时候,索引集中分布,如果数据使用的索引集中在一个数据块则会发生争用,这是可以将索引反转,reverse。

    hash索引:使用hash索引必须使用hash集群。建立cluster的同时也建立了hash索引。

    function index ,基于函数的索引:当查询的列上使用了函数之后就不能使用原来的索引了,但是可以建立函数索引,使建立在函数上的索引可以使用。在优化器中,必须将参数QUERY_REWRITE_ENABLED设为true。

    分区索引:本地分区索引,全局分区索引。

    本地分区索引:可以使用与表相同的分区键和范围界限来对本地索引分区。每个本地索引的分区只包含了他所关联的表分区的键和rowid。本地分区索引又分为有前缀索引和无前缀索引。有前缀索引:包含了来自分区键的键,并把它们作为索引的前导,相当于索引的分区都使用表相同范围的界限来创建的。没有包含在where子句中的值的分区是不会被访问到的,这样也提高了子句的性能。  无后缀索引:可以在表的任何一列建立无前缀的索引,但是索引的每个分区只包含表的相应分区的兼职。

    全局分区索引是在一个索引分区包含来自多个表分区的键。在建立全局分区索引的时候,必须定义分区键的范围。只能是B树索引。如果一个分区被截取,增加,分割,删除等,就必须重建索引。全局有前缀索引没经过对等分区。

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25155154/viewspace-689023/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/25155154/viewspace-689023/

    展开全文
  • Oracle索引分类 逻辑上: Single column 单行索引 Concatenated 多行索引 Unique 唯一索引 NonUnique 非唯一索引 Function-based 函数索引 Domain 域索引 物理上: Partitioned 分区索引 NonP...
  • 逻辑上:Single column 单行索引Concatenated 多行索引Unique 唯一索引 CREATE UNIQUE INDEX 索引名 on 表名(想要创建索引的列名);NonUnique 非唯一索引Function-based函数索引  (基于函数的索引  1基于函数...
  • 查询分区索引是全局分区索引还是本地分区索引,取决于 user_part_indexes 中 locality 字段 : 全局分区索引 ( LOCAL), 本地分区索引 ( GLOBAL);   -->> 由于全局分区索引要么全部 USABLE, 要么全部 ...
  • 索引分类: 默认的索引类型B-树;索引建立在表中的一个或多个列或者列的表达式上,将列值和行编号(rowid)一起存储。 在索引中,除了存储每个索引值外,还存储此索引对应行的rowid;  索引扫描...
  • Oracle 索引分类

    千次阅读 2016-12-29 13:48:37
    看到 itpub 论坛上的一个帖子,对 Oracle索引分类总结得言简意赅,于是收藏过来。又补充了一点RAC用到的反向索引的东西。逻辑上: Single column 单列索引Concatenated 多列索引Unique 唯一索引NonUnique 非唯一...
  • 索引分类 Oracle提供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程终止。而如果做出正确的选择,则可以合理...
  • oracle 索引分类

    2017-03-26 19:18:00
     1.oracle中最常用的索引;B树索引就是一颗二叉树;叶子节点(双向链表)包含索引列和指向表中每个匹配行的ROWID值  2.所有叶子节点具有相同的深度,因而不管查询条件怎样,查询速度基本相同  3.能够适应精确...
  • Oracle 索引分类

    2009-07-20 14:35:00
    看到 itpub 论坛上的一个帖子,对 Oracle索引分类总结得言简意赅,于是收藏过来。又最近一直看RAC,就补充了一点反向索引的东西。逻辑上: Single column 单列索引Concatenated 多列索引Unique 唯一索引NonUnique...
  • oracle索引

    2018-09-08 15:20:52
    oracle索引,非常适合初学者,介绍索引分类,如何创建,修改等
  • 5 索引 5.1 作用 (1)快速存取数据。  (2)既可以改善数据库性能,...Oracle每次进行操作都会对要操作的数据块加锁。以防止多人操作容易产生的数据库锁等待甚至死锁现象。 5.2 分类 按照索引数据的存储方式分为:...
  • ORACLE 索引

    2019-09-14 16:15:50
    2011-04-06 11:27:03|分类ORACLE优化|举报|字号订阅 --转载结论:使用索引,可以大大降低访问I/O的次数,从而可以提高SQL语句的查询性能。一旦创建了索引Oracle会自动维护和使用它们。如果我们更改了表中的数据...
  • Oracle 索引分类,分析与比较....(转载)   分类: Oracle 2015-10-22 11:05:09 原文地址:Oracle 索引分类,分析与比较....(转载) 作者:anyoracle 逻辑上: Single column 单行索引...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 753
精华内容 301
关键字:

oracle索引分类