[索引管理.pptVIP

  1. 1、本文档共51页,可阅读全部内容。
  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文档。上传文档
查看更多
[索引管理

对于位图索引的列,列值的数量要求较少或者中等(索引列基数较小)。 对于较低基数的位图索引来说,位图索引的尺寸远远的小于B树索引,因此可以大大的减少IO的数量。 对于非常大的表来说,在多个低基数列上建立位图索引是一个很好的选择。 对于位图索引来说,即使从表中读取很多行,也会使用位图索引。 例如在一个sex列上建立索引,每次从表中读取半数的数据行,但是还是会使用位图索引。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 在B树索引中,可以实现行级锁定,但是在位图索引中,因为对ROWDI进行压缩存放(一个ROWID范围+位图),因此每次锁定的都是整个的ROWID范围,因此对表中的位图索引列进行更新的时候,并发性很差,容易导致死锁。SELECT语句不会受到这种锁定问题的影响。 位图索引有很多的限制: 1、基于规则的优化器不会考虑位图索引 2、当执行alter table语句并修改包含位图索引列时,会使得位图索引失效 3、位图索引不包含任何列数据,不能用于任何类型的完整性检查 例如主键、唯一键约束 4、位图索引不能被声明为唯一索引 5、位图索引的最大长度为30 注意:不要在繁忙的OLTP系统中使用位图索引 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. HASH 索引 使用HASH索引必须要使用HASH集群。建立一个集群或HASH集群的同时,也就定义了一个集群键。这个键告诉Oracle如何在集群上存储表。在存储数据时,所有与这个集群键相关的行都被存储在一个数据库块上。如果数据都存储在同一个数据库块上,并且将HASH索引作为WHERE子句中的确切匹配,Oracle就可以通过执行一个HASH函数和I/O来访问数据——而通过使用一个二元高度为4的B树索引来访问数据,则需要在检索数据时使用4个I/O Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. HASH索引可能是访问数据库中数据的最快方法,但是有自身的缺点: 1、集群键上不同值的数目必须在创建hash集群之前就需要确定,需要在创建hash集群的时候指定这个值,低估了集群键的不同值的数字可能会导致集群的冲突(两个集群键有相同的HASH值) 2、一旦这个值设置过低,需要重建cluster 3、hash集群还可能浪费空间,如果无法确定需要多少空间来维护某个集群键上的所有行,就可能造成空间浪费 4、如果不能为集群的未来增长分配好附加的空间,hash集群可能就不是最好的选择 5、如果应用程序经常在集群上进行全表扫描,hash集群可能不是最好的选择,由于需要为未来增长分配好集群的剩余空间,全表扫描可能非常的消耗资源 HASH索引非常适合数据仓库(相对静态值) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 索引组织表(IOT) 索引组织表会把表的存储结构改成B树结构,以表的主键进行排序。 对于频繁在主键列上进行精确查找、范围查找的表来说,可以考虑使用IOT。 我们还可以在IOT上建立二级索引。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 反转索引 当载入一些有序的数据时,索引肯定会碰到与IO相关的一些瓶颈。在载入期间,某部分索引和磁盘肯定会比其他部分使用频繁的多。 为了解决这个问题,我们可以使用反转索引,这样对于有序数据的载入,oracle会更新不同的索引块。 1234、1235、1236,如果数据以反转索引存储,那么这些数据的存放形式为:4321、5321、6321.结果就是索引会为每次新插入的行更新不同的索引块。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Pr

文档评论(0)

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

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

1亿VIP精品文档

相关文档