基于Oracle数据库的索引优化.pdfVIP

  • 8
  • 0
  • 约7.88千字
  • 约 3页
  • 2018-05-09 发布于福建
  • 举报
lSSN 1009—3044 E—mail:jslt@cccc.net.cn Compu~rKnowledgeandTechnology电脑知识与技术 http://www.dnzs.net.cn Vo1.6,No28,October2010,PP.7902—7904 Te1:+86—551—5690963 5690964 基于Oracle数据库的索引优化 魏科科 (中国石油大学 ,山东 东营 257061) 摘要 :为优化 OP,ACLE数据库应 用系统性能,提 高数据检 索速度 ,提 出了一套针对 ORACLE数据库索引的跟踪和优化方法。该 文 一 方面 简述了0KACLE索引分类 、区别 、适 用场合,另一方面深入总结 了ORACLE数据库 索引优 化设计的八个重要方面和应用过 程 中的注意事项。实验结果表 明,遵循这些分析、优化原则,对于数据库应用系统性能调整的效果显著,因而,为数据库管理人员提 供 了一套可行 的索引优化的方法 关键词 :数据库 :0RACLE:索引:优化 中图分类号:TP391 文献标识码 :A 文章编号:1009—3044(2010)28—7902—03 在数据库应用系统中,数据的查询效率是用户最关心的问题之一。由于数据库系统在最初设计不够合理,而导致后期查询效率 低下的情况比比皆是。因此对数据库查询进行优化是 DBA乐此不疲的工作。在数据库的优化过程中,首当其冲的是对索引的优化。 有效地创建索 引也是数据库开发过程中,最复杂的一点 。 ORACLE提供 了大量的索引选项。合理的使用索引,能够极大缩短一些长进程的耗时 。相反 ,如果对索引使用不合理 ,可能导致 数据库性能急速下降.甚至进程终止。 显然 ,索引设计 的合理性对系统 的性能至关重要 。然而,很多数据库开发人员对索引只是粗浅 的了解。下面简略介绍 ORACEL 索 引的基本概念和分类 ,详细介绍笔者在工作 中经常使用的索引优化设计方法。 1索引的概念 索引类似于书 的目录 ,是为了加速对待定表数据的访问而创建 的数据段。要理解索 引,首先要清楚什么是 ROWID.在关系数据 库 中,一个行的物理位置无关紧要 ,除非数据库需要找到它。为了能找到数据,表中的每一行均用一个行 内部地址 (ROWID)来标识。 ROWID告诉数据库这一行的准确位置 (指 出行所在的文件 、该文件中的块、该块中的行地址)。 一 个索引拥有表的一列或多列 的值以及这些列值相对应的ROWID。当 ORACLE服务器需要在表 中查找某一指定行时 ,它在索 引中查找 ROWID,然后直接从表中提出数据 。 2索引分类 ORACEL 提供了多种不同类型的索引以供使用。ORACLE中包括 的索弓I如下: ‘ 2.1B 树索引 到 目前为止 ,这是 ORACLE和大多数其他数据库 中最常用 的索引。B 树的构造类似于二叉树 ,能根据键提供一行或一个行集 的快速访问。通常只需很少的读操作就能找到正确 的行 。不过 ,需要注意重要的一点,“B 树”中的 “B”不代表二叉(binary),而代表 平衡(balanced)。B 树索引有一下子类型: 2.1.1索引组织表 (indexorganizedtable) 索引组织表以B 树结构存储 。堆表的数据行是 以一种无组织的方式存储 的,而 IOT与之不同,lOT中的数据要按主键 的顺序 存储和排序 。对应用来说,IOT表现得与 “常规”表并无二致 ;需要使用 SQL来正确地访 问IOT。 lOT对信息获取、空问系统和 O· IAP应用最为有 用。 2.1.2B%树聚簇索引(Btreeclusterindex) 这是传统 B 树索引的一个变体 。B 树聚簇索引用于对聚簇键建立索引,在传统 B 树 中 ,键都指向一行 ;而 B 树聚簇不同, 一 个聚簇键会指 向一个块 ,其中包含与这个聚簇键相关 的多行。 2.1.3降序 索引(descendingindex) 降序索 引允许数据在索 引结构 中按 “从大到小”的顺序 (降序)排序 ,而不是按 “从小到大 ”的顺序 (升序)排序。 2.1.4反向键索引(reversekeyindex) 这也是 B 树索引,只不过键中的字

文档评论(0)

1亿VIP精品文档

相关文档