- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[管理学]第9章 视图与索引
在Oracle系统中,对索引的应用和维护是自动完成的。 当用户执行了INSERT、UPDATE、DELETE操作后,系统自动更新索引列表。 当用户执行SELECT、UPDATE、DELETE操作时,系统自动选择合适的索引来优化操作。 适合创建索引的字段应具备以下特征: 取值范围较大的字段。 null值比较多的字段。 经常作为查询或连接条件的字段。 经常需要排序的字段。 不适合建立索引的表或字段具备的特征: 较小的表。 经常更新的表。 不常作为查询条件或连接条件的字段。 9.1.2 索引的类型 常见的索引类型包括B树索引﹑位图索引﹑反向键索引﹑基于函数的索引﹑全局索引和局部索引等。 1.B树索引 该索引是最常见的索引结构,也是Oracle采用的默认索引类型。 B树索引的组织结构类似于一个树,其中的主要数据都集中在叶子结点上。各叶子结点中包括索引列的值和数据表中对应行的ROWID。 2.位图索引 该索引也采用B树索引,只是索引值全部集中在叶子节点。 位图中的每个位对应一个ROWID。如位值为1,则意味着对应的ROWID的行包含该索引键值。 所以,位图的映射功能是将数据位的位置转化为实际的ROWID。 3.反向键索引 反向键索引是一种特殊类型的B树索引,特别适合基于有序数列建立的索引。在存储结构方面,与常规的B树索引相同。 但如果用户使用序列编号在表中输入新记录,则反向键索引首先反向每个列键值的字节,然后在反向后的新数据上进行索引。 4.基于函数的索引 基于函数的索引也只是普通的B树索引,但它是基于表中某些字段的函数建立的,而不是直接建立在某些字段上的。函数索引的两个主要作用: 只对限定的行创建索引,节约空间,提高检索速度。 优化WHERE子句中使用了函数的sql语句。 5.全局索引和局部索引 局部分区索引 全局分区索引 全局非分区索引 9.2 创建索引 创建索引的语法如下: CREATE [UNIQUE | BITMAP] INDEX [schema.]index_name ON [schema.]table_name (column_name | expression ASC| DESC, column_name|expression ASC| DESC,…) [TABLESPACE tablespace_name] [STORAGE(storage_settings) [LOGGING | NOLOGGING] [NOSORT | REVERSE] [PARTITION | GLOBAL PARTITIONpartition_setting] 注意,如果一个列已经包含了索引那么无法在该列上再创建索引。 9.2.1 创建B树索引 B树索引是创建索引时的默认类型。 当用户为表创建主键约束时,系统将自动为该列创建一个B树索引。 也可以使用CREATE INDEX命令创建B树索引。 例9.1 在scott.emp表的sal字段上创建一个名为index_sal的B树索引,按字段值的降序排列。 CREATE INDEX index_sal ON scott.emp(sal desc) TABLESPACE users; 例9.2 在scott.dept表的dname字段上创建一个具有唯一性的B树索引,索引值按字母序排序。 CREATE UNIQUE INDEX index_dname ON scott.dept(dname) 例9.3 在scott.emp表的ename和deptno字段上创建一个复合索引。 CREATE INDEX index1 ON scott.emp(ename,deptno); CREATE INDEX index2 ON scott.emp(deptno,ename); 9.2.2 创建位图索引 表中某一个字段的唯一值的个数比较少(基数小)时,在该字段上建立位图索引比较合适。 创建位图索引时,必须指定BITMAP关键字。 例9.4 在scott.emp表中的job字段上创建位图索引bit_index。 CREATE BITMAP INDEX bit_index ON scott.emp(job) TABLESPACE users; 注意:位图索引的字段重复值较多不能是唯 一索引 9.2.3 创建反向键索引 反向键索引本质也是一个B树索引,为了避免“歪树”的产生,反向键索引对键值进行反向存储。 创建反向键索引时必须指定关键字REVERSE。 例9.5 在scott.emp表中的empno字段上创建反向索引re_index。 CREATE INDEX re_index ON scott.emp(empno) REV
您可能关注的文档
最近下载
- ICD-10消化系统疾病分类解析.pptx VIP
- 13G322-1~4钢筋混凝土过梁(2013年合订本).docx VIP
- 高考数学模拟卷.pdf VIP
- 数学人教版六年级下册《图形的认识与测量(一)》教学设计.doc VIP
- 钢结构工程施工质量控制ppt培训.pptx VIP
- 常州星河灯具报价清单.xls VIP
- 截止阀安装使用说明书-ArmstrongInternational.PDF VIP
- 人教版小学英语PEP五年级上册英译汉课文翻译(三起点).docx VIP
- 小升初暑假讲义17 《西游记》1 (教师版).doc VIP
- 2025年党员领导干部学习《党政机关厉行节约反对浪费条例》研讨会交流发言1.docx VIP
文档评论(0)