oracle索引大总结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle索引大总结

oracle索引大总结 索引使用的好处与坏处(Oracle) 分类: OracleDB ?创建索引的好处 –帮助用户提高查询速度 –利用索引的唯一性来控制记录的唯一性 –可以加速表与表之间的连接 –降低查询中分组和排序的时间 ?创建索引的坏处 –存储索引占用磁盘空间 –执行数据修改操作(INSERT、UPDATE、DELETE)产生索引维护 ---------------------------------------------------------------------------------------------- 索引是提高数据查询最有效的方法,也是最难全面掌握的技术,因为正确的索引可能使效率提高10000倍,而无效的索引可能是浪费了数据库空间,甚至大大降低查询性能。   索引的管理成本   1、 存储索引的磁盘空间   2、 执行数据修改操作(INSERT、UPDATE、DELETE)产生的索引维护   3、 在数据处理时回需额外的回退空间。   实际数据修改测试:   一个表有字段A、B、C,同时进行插入10000行记录测试  在没有建索引时平均完成时间是2.9秒   在对A字段建索引后平均完成时间是6.7秒   在对A字段和B字段建索引后平均完成时间是10.3秒   在对A字段、B字段和C字段都建索引后平均完成时间是11.7秒   从以上测试结果可以明显看出索引对数据修改产生的影响   索引按存储方法分类   B*树索引   B*树索引是最常用的索引,其存储结构类似书的索引结构,有分支和叶两种类型的存储数据块,分支块相当于书的大目录,叶块相当于索引到的具体的书页。一般索引及唯一约束索引都使用B*树索引。   位图索引   位图索引储存主要用来节省空间,减少ORACLE对数据块的访问,它采用位图偏移方式来与表的行ID号对应,采用位图索引一般是重复值太多的表字段。位图索引在实际密集型OLTP(数据事务处理)中用得比较少,因为OLTP会对表进行大量的删除、修改、新建操作,ORACLE每次进行操作都会对要操作的数据块加锁,所以多人操作很容易产生数据块锁等待甚至死锁现象。在OLAP(数据分析处理)中应用位图有优势,因为OLAP中大部分是对数据库的查询操作,而且一般采用数据仓库技术,所以大量数据采用位图索引节省空间比较明显。   索引按功能分类   唯一索引   唯一索引有两个作用,一个是数据约束,一个是数据索引,其中数据约束主要用来保证数据的完整性,唯一索引产生的索引记录中每一条记录都对应一个唯一的ROWID。   主关键字索引   主关键字索引产生的索引同唯一索引,只不过它是在数据库建立主关键字时系统自动建立的。 一般索引   一般索引不产生数据约束作用,其功能主要是对字段建立索引表,以提高数据查询速度。   索引按索引对象分类   单列索引(表单个字段的索引)   多列索引(表多个字段的索引)   函数索引(对字段进行函数运算的索引)   建立函数索引的方法:   create index 收费日期索引 on GC_DFSS(trunc(sk_rq))   create index 完全客户编号索引 on yhzl(qc_bh||kh_bh)   在对函数进行了索引后,如果当前会话要引用应设置当前会话的query_rewrite_enabled为TRUE。   alter session set query_rewrite_enabled=true   注:如果对用户函数进行索引的话,那用户函数应加上 deterministic参数,意思是函数在输入值固定的情况下返回值也固定。例:   create or replace function trunc_add(input_date date)return date deterministic   as   begin   return trunc(input_date+1);   end trunc_add;   应用索引的扫描分类 INDEX UNIQUE SCAN(按索引唯一值扫描)   select * from zl_yhjbqk where hbs_bh=5420016000   INDEX RANGE SCAN(按索引值范围扫描)   select * from zl_yhjbqk where hbs_bh5420016000   select * from zl_yhjbqk where qc_bh7001   INDEX FAST FULL SCAN(按索引值快速全部扫描)   select hbs_bh from zl_yhjbqk order by hbs_bh   select count(*) from zl_yhjb

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档