- 1、本文档共71页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
什么是Clustering Factor 呢?Clustering Factor是的含义是如果通过一个索引扫描一张表,需要访问的表的数据块的数量。Clustering Factor计算的方法如下: 1、扫描一个索引 2、比较某行的rowid和前一行的rowid,如果这两个rowid不属于同一个数据块,那么cluster factor增加1 3、整个索引扫描完毕后,就得到了该索引的cluster factor。 如果Clustering Factor接近于表存储的块数,说明这张表是按照索引字段的顺序存储的。如果Clustering Factor接近于行的数量,那说明这张表不是按索引字段顺序存储的。 在计算索引访问成本的时候,这个值十分有用。Clustering Factor乘以选择性参数(selectivity )就是访问索引的开销。 如果这个统计数据不能真实反映出索引的真实情况,那么可能会造成优化器错误的选择执行计划。 另外如果某张表上的大多数访问是按照某个索引做索引扫描,那么将该表的数据按照索引字段的顺序重新组织,可以提高该表的访问性能。 这个段分配了一个extent,因此这里面显示的是8blocks,不是实际的占用块数。 因此这个表占用的blocks是1个。 聚集因子的数量和表的块数一致,因此表的数据排序和索引一致,因此在进行索引范围扫描的时候,对表的访问成本还是比较低的。 聚集因子主要影响的是索引范围扫描。 如果聚集因子很高,那么建议对表进行重新整理,降低聚集因子。 二元高度(binary height) 索引查找分为两个过程: 1、根据树进行定位、找出ROWID(索引查找) 2、根据ROWID找出表中的数据行(表数据查找) 进行索引查找的时候,首先从树根开始读数据,通过中间节点,最后定位到叶节点,整个过程只能进行单数据块的读取。 索引 表 二元高度是3,读取一行数据经过了四次数据块的读取,其中三次是索引,一次是表数据。 查找每个索引的二元高度,这个索引只占用了一个数据块,因此二元高度是0 二元高度主要随着表中索引列的非NULL值以及索引列中值的宽度而变化。 如果索引列上大量的行被删除,那么他的二元高度不会降低,重建索引会降低二元高度,如果一个索引中被删除的行接近20~25%,重建索引会减低二元高度。 二元高度对索引的性能影响不是很大,但是在可能的情况下,降低二元高度还是有必要的。 使用直方图 在分析表和索引时,直方图用于记录数据的分布。 通过获取该信息,基于成本的优化器就可以决定使用将返回少量行的索引,而避免使用基于限制条件返回许多行的索引。 直方图的使用不受索引的限制,我们可以在表的任何列上构建直方图(一般是在表的索引列上构建直方图)。 构建直方图最主要的原因就是:帮助优化器在表中数据严重倾斜时做出更好的规划。 如果一个表中的列上(通常是索引列)数据发生严重的倾斜,那么在这个列上建立直方图将非常的有意义。这样优化器就知道什么时候该使用索引、什么时候不该使用索引。 在hr用户下面的employees表的job_id列上建立了一个直方图。 这个直方图有10个存储桶。 行数 10 10 10 10 10 10 10 10 10 10 1000-1300 1301-1400 1401-1430 1430-1500 1430 1430 1430 1430 1430 1430 对整个列的100行数据进行均分成10个存储桶,每个桶中存储10个数据行。 然后写出每个桶中的数据范围。 我们发现1430这个数值对应的行号数非常多,大约73行,占到了73%。 因此当我们使用where id=1403的时候,优化器不会走索引。 默认情况下,oracle的直方图会产生75个存储桶,可以把存储桶的size限制在1~254之间。 快速全局索引扫描 在索引的快速全局扫描期间,Oracle读取B树索引上的所有树叶块,这个索引可以按照顺序读取,这样可以一次读取多个块,初始化文件中的DB_FILE_MULTIBLOCK_READ_COUN T可以控制同时被读取的块数。 相对全表扫描,快速全局索引扫描通常需要较少的物理IO。 如果表查询的所有列都被包含在索引中,而索引的前置列并不在where条件中,就可以使用快速全局索引扫描。 select empno,ename,deptno from emp where deptno=30; empno,ename,deptno上有一个组合索引。 作为一个选择,针对上面的情况,Oracle可能采取跳跃式索引扫描。 跳跃式索引扫描 组合索引、where条件中没有出现前置列(通常是组合索引的第二列)。 相对全索引扫描,跳跃式索引扫描读取的数据块更少、速度更快。 读取的块数明显减少
您可能关注的文档
- N3_20150915_地震作用要点.ppt
- 安东尼奥高迪2要点.ppt
- N4_20150917(T18)_地震作用要点.ppt
- N200线光栅的原理与应用要点.ppt
- 安防负责人培训要点.ppt
- NBT47013.1通用要求要点.ppt
- 安防工程施工、安装和调试(一)要点.ppt
- NBT47014-2011《《承压设备焊接工艺评定》要点.ppt
- NCE通道闸产品介绍20150318要点.ppt
- 安防监控系统培训讲义要点.ppt
- 甘肃省白银市会宁县第一中学2025届高三3月份第一次模拟考试化学试卷含解析.doc
- 2025届吉林市第一中学高考考前模拟生物试题含解析.doc
- 四川省三台县芦溪中学2025届高三下第一次测试生物试题含解析.doc
- 2025届江苏省启东市吕四中学高三适应性调研考试历史试题含解析.doc
- 浙江省宁波市十校2025届高三二诊模拟考试历史试卷含解析.doc
- 甘肃省甘南2025届高考生物必刷试卷含解析.doc
- 河北省石家庄市一中、唐山一中等“五个一”名校2025届高考历史四模试卷含解析.doc
- 江西省南昌市进贤一中2025届高考生物考前最后一卷预测卷含解析.doc
- 甘肃省白银市会宁县第四中学2025届高三第二次模拟考试历史试卷含解析.doc
- 宁夏银川市宁夏大学附属中学2025届高考化学押题试卷含解析.doc
文档评论(0)