Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第10章.pptVIP

Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第10章.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle 11g数据库管理与开发基础教程 授课教师: 职务: 第10章 索引 课程描述 索引是关系数据库中的一种基本对象,它是表中数据与相应存储位置的列表。利用索引可以加快数据的检索速度,并实现对完整性的检查。本章介绍Oracle Database 11g中索引的基本概念、创建、维护等内容。。 本章知识点 索引的类型 索引的创建 索引的修改和删除 索引的监视 10.1 概述 索引是关系数据库中的一种基本对象,它是表中数据与相应存储位置的列表。 利用索引可以加快数据的检索速度,并实现对完整性的检查。如果索引数量太多,则会影响更新的速度,因为此时要花费更多的时间来更新索引。 索引的创建要遵循以下原则: 依据表的大小创建索引。 依据表和列的特征创建索引。 限制表中索引的数量。 要合理安排复合索引中列的顺序,将频繁使用的列放在其他列的前面。 10.2 创建索引 使用CREATE INDEX语句创建索引,其基本语法格式为: CREATE [UNIQUE | BITMAP] INDEX [schema.]index_name ON [schema.]table_name (column1 [ASC | DESC] [,column2[ASC | DESC] ] ... ) [TABLESPACE table_space | DEFAULT] [SORT | NOSORT] [REVERSE] [VISIBLE | INVISIBLE] [PARALLEL [n] | NOPARALLEL]; 参数说明: UNIQUE、BITMAP:分别指出创建的索引为惟一索引和位图索引,如果未指定这两个选项,创建的则是B-树索引; schema:指出所建索引属于哪个模式,缺省为当前用户; index_name:创建的索引名; column1:指出基表中索引列的列名,一个索引最多可基于16列,long列、long raw列不能建索引; ASC、DESC:指出索引值的排列顺序是升序还是降序,缺省为ASC即升序; ONLINE:指出在创建索引期间允许对表进行DML操作; TABLESPACE:指定索储索引的表空间; SORT、NOSORT:默认时,Oracle Database在创建索引时将按升序排序索引。如果确认数据库内的数据行已经按升序排序,则可以指定NOSORT,要求在创建索引时不再排序数据行。但此时,如果索引列未按升序排序,则将导致索引创建失败; REVERSE:表示建立反向键值索引; VISIBLE、INVISIBLE:指定索引对优化器是否可见。 10.2.1 B-树索引 B-树索引是Oracle数据库中最常用的一种索引结构,它按照平衡树算法来构造索引,这种索引中的叶子结点保存索引键值和一个指向索引行的ROWID信息。默认情况下,Oracle数据库中创建的索引就是B-树索引。 例如,在books表的bookname列上创建一个非惟一B-索引: BOOKS_PUB@orcl_dbs CREATE INDEX book_name_idx ON 2 books(bookname) 3 TABLESPACE USERS; 索引已创建。 Oracle数据库会自动在表的主键约束列和惟一性约束列上创建惟一索引,用户也可以自己进行创建惟一索引。例如,下面代码在books表的booknum列上创建一个惟一索引: BOOKS_PUB@orcl_dbs CREATE UNIQUE INDEX booknum_idx ON 2 books(booknum); 索引已创建。 10.2.2 位图索引 位图索引不存储ROWID值,也不存储键值,它用一个索引键条目存储指向多行的指针,即每个索引条目指向多行。位图索引占用空间小,适合索引值基数少,高度重复而且只读的应用环境使用,所以适合于数据仓库等环境。 例如,在orders表的payterms列上创建一个位图索引: BOOKS_PUB@orcl_dbs CREATE BITMAP INDEX order_pay_idx 2 ON orders(payterms); 索引已创建。 10.2.3 基于函数的索引 基于函数的索引是在B-树索引或位图索引的基础上,将一个函数计算得到的结果作为索引值而创建的索引。因此,可以把基于函数的索引看做一个虚拟列上的索引。 例如,在authors表的author_lname列创建一个基于函数的索引,以便在该列上执行大小写无关的查询: BOOKS_PUB@orcl_dbs CREATE INDEX author_lname_idx 2 ON authors(UPPER(author_lname)); 索引已创建。 10.2.4 反向键值索

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档