- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle索引与索引组织表精选
Oracle索引与索引组织表 索引是一种可选的数据结构,在一个表上是否建立索引,这不会对表的使用方法产生任何影响。但是如果在表中的某些字段上建立了索引,这能够显著地提高对该表的查询速度。并且可以在很大程度上减少查询时的硬盘I/O操作。索引组织表(也称为IOT)是一种特殊的表,它将表中的数据以B树索引的方式来组织表中的数据,利用索引组织表能够显著提高查询的速度。 知识要点: 理解索引的作用原理 B树索引 位图索引 反向键索引 基于函数的索引 对索引进行修改 索引组织表的优点 索引组织表的溢出存储 1 索引基础 如果一个表中包含有很多条记录,当对表执行查询时,必须将所有的记录一一取出,以便将每一条记录与查询条件进行比较,然后再返回满足条件的记录。这样进行操作的时间开销和I/O开销都是十分巨大的。这时就可以考虑通过建立索引来减少开销。 2 建立索引 建立索引是使用CREATE INDEX语句完成的。一般情况下,建立索引是由表的所有者完成的,如果要以其他用户身份建立索引,则要求用户必须具有CREATE ANY INDEX系统权限或者在相应表的INDEX对象权限。 2.1 建立B树索引 B树索引是Oracle中默认的、最常用的索引类型。B树索引是以B树结构组织并存放索引数据的。默认情况下,B树索引中的数据是以升序方式排列的。如果表包含的数据非常多,并且经常在WHERE子句中引用某列或某几个列,则应该基于该列或该几个列建立B树索引。B树索引由根块、分支枝和叶块3部分组成,其中主要数据都集中在叶子结点。 2.2 建立位图索引 索引的作用简单地说就是能够通过给定的索引列值,快速地找到对应的记录。在B树索引中,通过在索引中保存排过序的索引列的值,以及记录的物理地址ROWID来实现快速查找。但是对于一些特殊的表,B树索引的效率可能会很低。 2.3 建立反向键索引 在Oracle中,系统会自动为表的主键列建立索引,这个默认的索引是普通的B树索引。通常,用户会希望表的主键是一个自动增长的序列编号,这样的列就是所谓的单调递增序列编号列。当在这种顺序递增的列上建立普通的B树索引时,如果果表的数据量非常庞大,将导致索引数据分布不均。 2.4 基于函数的索引 用户在使用Oracle数据库时,最常遇到问题之一就是它对字符大小写敏感。如果在EMP表中,存储的雇员姓名为SMITH,则用户使用小写搜索时,将无法找到该行记录。如果用户不能够确定输入数据的格式,那么就会产生一个严重的错误。 3 修改索引 修改索引是使用ALTER INDEX命令完成的。一般情况下,修改索引是由索引的所有者完的,如果要以其他用户身份修改索引,则要求该用户必须具有ALTER ANY INDEX系统权限或在相应表上的INDEX对象权限。 3.1 合并索引和重建索引 在为表建立索引后,随着对表不断进行更新、插入和删除操作,索引中将会产生越来越多的存储碎片,这对索引的工作效率会产生负面影响。这时用户可以采取两种方式来清楚碎片——重建索引或合并索引。合并索引只是将B树中叶子节点的存储碎片合并在一起,并不会改变索引的物理组织结构。 3.2 删除索引 删除索引是使用DROP INDEX语句完成的。一般情况下,删除索引是由索引所有者完成的,如果以其他用户身份删除索引,则要求该用户必须具有DROP ANY INDEX系统权限或在相应表上的INDEX对象权限。通常在如下情况下需要删除某个索引: 该索引不再需要时,应该删除该索引,以释放其所占用的空间。 如果移动了表中的数据,导致索引中包含过多的存储碎片,此时需要删除并重建索引。 通过一段时间的监视,发现很少有查询会使用到该索引。 3.3 显示索引信息 索引是用于加速数据存储的数据库对象。通过查询数据字典视图DBA_INDEXES,可以显示数据库的所有索引;通过查询数据字典视图ALL_INDEXES,可以显示当前用户可访问的所有索引;查询数据字典视图USER_INDEXES,可以显示当前用户的索引信息。下面以显示SCOTT用户EMP表的所有索引为例,说明使用数据字典视图DBA_INDEXES的方法: SQL connect system/password 已连接。 SQL select index_name,index_type,uniqueness 2 from dba_indexes 3 where owner=SCOTT and table_name=EMP; INDEX_NAME INDEX_TYPE
您可能关注的文档
- 30年,地球改变了多少?精选.ppt
- 4-1 冲量 动量定理 守恒精选.ppt
- 4. Who ruined the humanities精选.ppt
- 4.1 微分中值定理 洛必达法则精选.ppt
- 4.1 在关爱中成长精选.ppt
- 3静定结构(拱)精选.ppt
- 4.1身体的结构精选.ppt
- 4.3 美苏争霸 课件(人教版选修3)精选.ppt
- 4.3.1角的认识精选.ppt
- 4-6其它常用礼节-鞠躬礼、点头礼、握手礼、目光礼等礼姿训练精选.ppt
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)