博学,审问,慎思,明辨,笃行

导航

2014年4月7日 #

Oracle indexclustering factor 索引聚簇因子(转)

摘要: 转自:http://blog.csdn.net/zengmuansha/article/details/6757791聚簇因子我们往往会讨论什么时候用索引,什么时候用全表:大家可能说的最多的是需要的数据量和表里面的数据量占比,有些人说20%以下用索引,有些人说10%以上就不能用索引了,其实除了和数据量有关还有一个非常关键因数就是聚簇因子。 什么是聚簇因子? 我们先看我们的常用的表又叫堆表。堆表的最大特征就是数据的存储独立性,即数据的存储与数据值没有任何关联地被存储在磁盘的任意位置上。从另外一个侧面来看,该特征也就意味着为了查询我们所需要的数据必然要在磁盘的多个位置上进行查找。 所谓" 阅读全文

posted @ 2014-04-07 23:28 pengdaijun 阅读(419) 评论(0) 推荐(0) 编辑

Oracle 聚合因子的理解

摘要: 转自:http://www.itpub.net/thread-1597222-1-1.htmlCluster Factor:聚簇因子体现数据的离散程序(相对索引键而言)。这个指标反应了被索引段是否按照索引键值密集的存储在一起,值越小,则索引使用效率越高。现实举例:我们知道,我们小时候查的字典也有索引,分为拼音索引和部首索引(其实还有一种想不起来了),拼音索引的效率最高,聚簇因子最小,因为字典的内容就是按照拼音来顺序存储的,比如:当我们要查找与“啊”字同音的字时,只要先在索引中找到"啊"第一声,与"啊"第二声所对应的页(在数据库中就对应块号了),则我们就可 阅读全文

posted @ 2014-04-07 23:26 pengdaijun 阅读(444) 评论(0) 推荐(0) 编辑

Oracle 索引热块引起的latch争用实例分析(转)

摘要: 转自:http://www.itpub.net/thread-1748214-1-1.html引言:索引的热块其实和数据块的热块发生的原理大相径庭,也都是因为大量会话一起访问同一个索引块造成的,我们的解决方案有反向索引,分区索引等。我们说任何一种方式都不是完美的,有优点就必然有缺点,我们把包含索引键值的索引块从顺序排列打散到无序排列,降低了latch争用,同时也增加了oracle扫描块的数量。我们在实际使用时多测试取长补短,以提高系统的整体性能为目标。LEO1@LEO1>create table leo1 (idnumber , namevarchar2(200)); 创建了一个leo1 阅读全文

posted @ 2014-04-07 23:19 pengdaijun 阅读(1684) 评论(0) 推荐(0) 编辑

Oracle 未链接空索引块的开销(转)

摘要: 转自:http://yumianfeilong.com/html/2008/09/21/225.html索引的空块和空闲空间是可以重用的。只说B-tree索引。当某个索引叶节点里的index entry都被删除掉的时候,这个索引块被放置在索引的freelist上,但这个索引块仍然在索引树型结构中,它的branch块仍然有指针指向它,它自己也有pre pointer和after pointer指向它的前后叶兄弟。当index split的时候,oracle需要分配新的block给索引,这个在freelist上的block就需要从索引树型结构上从现有位置移动到新的位置,和不同的leaf block 阅读全文

posted @ 2014-04-07 23:10 pengdaijun 阅读(148) 评论(0) 推荐(0) 编辑