降序索引( descending index ):降序索引允许数据在索引结构中按 “ 从大到小 “ 的顺序(降序)排序 , 而不是按 ” 从小到大 “ 的顺序(升序)排序 。 我们会解释为什么降序索引很重要 , 并说明降序索引如何工作 。
反向键索引( reverse key index ):这也是 B* 树索引 , 只不过键中的字节会 “ 反转 “ 。 利用反向键索引 , 如果索引中填充的是递增的值 , 索引条目在索引中可以得到更均匀的分布 。 例如 , 如果使用一个序列来生成主键 , 这个序列将生成诸如 987500 、 987501 、 987502 等值 。 这些值是顺序的 , 所以倘若使用一 个传统的 B* 树索引 , 这些值就可能放在同一个右侧块上 , 这就加剧了对这一块的竞争 。 利用反向键 , Oracl e则会逻辑地对 205789 、 105789 、 005789 等建立索引 。 Oracle 将数据放在索引中之前 , 将先 把所存储数据的字节反转 , 这样原来可能在索引中相邻放置的值在字节反转之后就会相距很远 。 通过反转字节 , 对索引的插入就会分布到多个块上 。
2、 位图索引( bitmap index )
在一颗 B* 树中 , 通常索引条目和行之间存在一种一对一的关系:一个 索引条目就指向一行 。 而对于位图索引 , 一个索引条目则使用一个位图同时指向多行 。 位图索引适用于高度重复而且通常只读的数据(高度重复是指相对于表中的总行数 , 数据只有很少的几个不同值) 。 考虑在一 个有 100 万行的表中 , 每个列只有 3 个可取值: Y 、 N 和 NULL 。 举例来说 , 如果你需要频繁地统计多少行有值Y , 这就很适合建立位图索引 。 不过并不是说如果这个表中某一列有 11.000 个不同的值就不能建立位图索引 , 这一列当然也可以建立 位图索引 。 在一个 OLTP 数据库中 , 由于存在并发性相关的问题 , 所以不能考虑使用位图索引(后面我们就会讨论这一点) 。 注意 , 位图索引要求使用 Oracle 企业版或个人版 。
位图联结索引( bitmap join index ):这为索引结构(而不是表)中的数据提供了一种逆规范化的 方法 。 例如 , 请考虑简单的 EMP 和 DEPT 表 。 有人可能会问这样一个问题: “ 多少人在位于波士顿的部门工作 ?“ EMP 有一个指向 DEPT 的外键 , 要想统计 LOC 值为 Boston 的部门中的员工人数 , 通常必须完成表联结 , 将 LOC 列联结至 EMP 记录来回答这个问题 。 通过使用位图联结索引 , 则可以在 EMP 表上对 LOC 列建立索引 。
3、 基于函数的索引( function-based index )
这些就是 B* 树索引或位图索引 , 它将一个函数计算得到的结果存储在行的列中 , 而不是存储列数据本身 。 可以把基于函数的索引看作一个虚拟列(或派生列)上的索引 , 换句话说 , 这个列并不物理存储在表中 。 基于函数的索引可以用于加快形如 SELECT * FROM T W HERE FUNCTION(DATABASE_COLUMN) = SAME_VALUE 这样的查询 , 因为值 FUNCTION(DATABASE_COLUMN) 已经提前计算并存储在索引中 。
4、 应用域索引( application domain index )
应用域索引是你自己构建和存储的索引 , 可能存储在Oracle 中 , 也可能在 Oracle 之外 。 你要告诉优化器索引的选择性如何 , 以及执行的开销有多大 , 优化器则会根据你提供的信息来决定是否使用你的索引 。 Oracle 文本索引就是应用域索引的一个例子;你也可 以使用构建 Oracle 文本索引所用的工具来建立自己的索引 。 需要指出 , 这里创建的 “ 索引 “ 不需要使用传统的索引结构 。 例如 , Oracle 文本索引就使用了一组表来实现其索引概念 。
5、HASH索引
使用HASH索引必须要使用HASH群集 。 建立一个群集或HASH群集的同时 , 也就定义了一个群集键 。 这个键告诉Oracle如何在群集上存储表 。 在存储数据时 , 所有与这个群集键相关的行都被存储在一个数据库块上 。 若数据都存储在同一个数据库块上 , 并且使用了HASH索引 , Oracle就可以通过执行一个HASH函数和I/O来访问数据——而通过适用一个二元高度为4的B-树索引来访问数据 , 则需要在检索数据时使用4个I/O 。
- 峨眉雪芽价格「峨眉山峨眉雪芽」
- 红楼梦的价格「老版红楼梦值多少钱」
- arcteryx「arcteryx是哪个国家的品牌」
- 模糊照片修复app「模糊照片修复APP」
- 如何绑定京东e卡「如何绑定京东e卡怎么付款」
- gtx950功耗「gtx950功耗对比960」
- 微信怎么创建自己的小程序「微信怎么创建小程序?」
- mp3剪切器在线「MP3在线剪切」
- "大学生创业好项目 "「优秀的大学生创业项目」
- 百世汇通价格查询「百世汇通省外价格查询」
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
