欢迎来到天天文库
浏览记录
ID:50303529
大小:199.00 KB
页数:30页
时间:2020-03-07
《Oracle Database 10g基础教程(第二版) 教学课件 作者 978-7-302-15311-5ch11.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11章索引本章概述本章要点教学过程1本章概述数据库的索引类似于图书的索引。在图书中,索引允许用户不必翻阅整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。在图书中,索引就是内容和相应页号的清单。在数据库中,索引就是表中数据和相应存储位置的列表。对于包含了大量数据的表来说,如果没有索引,那么对表中的数据检索时速度可能慢得令人难以忍受。本章将全面介绍Oracle系统的索引内容。2本章要点理解索引的基本概念了解索引的优点和缺点理解修改数据时索引开销掌握索引联接、压缩和跳跃的特点了解反转键索引的特点掌握基
2、于函数索引的特点理解位图索引的特点3教学过程11.1概述11.2索引什么时候有用11.3索引开销11.4索引的联接、压缩和跳跃11.5索引和约束11.6反转键索引11.7基于函数的索引11.8位图索引4教学过程11.1概述11.2索引什么时候有用11.3索引开销11.4索引的联接、压缩和跳跃11.5索引和约束11.6反转键索引11.7基于函数的索引11.8位图索引511.1概述索引是一种树状结构,可以通过该结构迅速访问表中的数据。索引可以从逻辑设计和物理实现两个方面来分类。从逻辑设计方面来看,主要考虑索引是如何组合的。这种情况下,可以把索引分成单列索引和复合
3、索引、唯一性索引和非唯一性索引、基于函数的索引等类型。从物理实现的角度来看,索引可以分为分区索引和非分区索引、B树索引、正向索引和反向索引、位图索引、位图联接索引。6教学过程11.1概述11.2索引什么时候有用11.3索引开销11.4索引的联接、压缩和跳跃11.5索引和约束11.6反转键索引11.7基于函数的索引11.8位图索引711.2索引什么时候有用从上一节的分析中将会发现,利用索引好像远远胜于全表搜索。然而,用户可能会提出一个相当合理的问题:如果索引这么好,为什么不在所有表的所有列上都使用索引并且利用他们进行操作?总之,好的索引是选择性索引,它只会引用
4、全部数据量中很少比例的数据。8示例9教学过程11.1概述11.2索引什么时候有用11.3索引开销11.4索引的联接、压缩和跳跃11.5索引和约束11.6反转键索引11.7基于函数的索引11.8位图索引1011.3索引开销前面提到过,索引可以提高检索效率,具有高选择性的索引总是比全表搜索更有效地从表中获取数据。但是,索引的出现会对插入操作、更新操作和删除操作带来负面影响。本节主要介绍索引的开销。11插入行如何影响索引12示例下面通过一个示例来介绍插入数据是如何影响索引的。为了确保可以在统一层次的领域中操作,重建前面已经存在的表和索引。在如图11-13所示的代码
5、中,首先关闭跟踪开关,然后删除以前创建的indextest表。接下来,基于dba_objects数据字典视图重新创建indextest表,并在该表的object_name列上创建索引。注意,由于pctfree参数的值为0,表示所有的叶子节点都充满了数据。然后对该表进行统计分析。13更新行如何影响索引14DML和索引前面的介绍已经涉及了DML操作对表索引的潜在影响。在任意给定的时刻,如果进行检查,这样的索引都会包含大量的空余空间,它们的产生可能是由于以前的插入操作所导致的数据块分割,或者也可能是由于更新或删除所导致的大量被废弃的索引项引发。现在,通过前面的示例
6、可知,这些空间都没有丢失,因为如果继续进一步执行DML就可以利用这些空间,或使用新的有效索引项代替废弃的索引项。但是,所采取的具体做法完全依赖于在表上继续执行的DML及其效果。15教学过程11.1概述11.2索引什么时候有用11.3索引开销11.4索引的联接、压缩和跳跃11.5索引和约束11.6反转键索引11.7基于函数的索引11.8位图索引1611.4索引的联接、压缩和跳跃现在,用户可能明白了使用索引不一定是好事,因为索引的开销很大。最好的办法是最小化需要在表上创建的索引数量。下面介绍索引的联接、压缩和跳跃。17索引的联接18B树索引的键压缩B树索引的键压
7、缩是从Oracle8i引入的特性。工作方式如下。示例,假设,一个表包含了公园和公共场所的细节,各个地方需要实现的风景特点,以及这些工作的细节。19索引的跳跃搜索索引的跳跃搜索是从Oracle9i开始引入的功能。它的出现意味着用户不需要再像以前那样担心联接索引中的字段次序,既使用户查询正在选取的字段不是索引的起始列,优化器也可以智能地搜索索引。优化器能够考虑分支节点所暗示的内容,对叶子节点的内容进行推演。使用跳跃搜索不需要特殊的匹配和设置。然而,它可以让联接索引更加有效,甚至它们的起始键没有作为查询谓词提供也是如此。20教学过程11.1概述11.2索引什么时候
8、有用11.3索引开销11.4索引的联接、压缩和跳跃1
此文档下载收益归作者所有