免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 941 | 回复: 0
打印 上一主题 下一主题

关于Clustering factor(二) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-08 08:46 |只看该作者 |倒序浏览

Clustering factor是一种测量相对于基表上的索引的顺序程度。它一般用来评估在表上执行index访问所耗费的成本。它记录着执行索引扫描时需要访问的数据块。
Clustering factor可以从以下视图中查看:
l      All|dba|user_indexes
l      All|dba|user_ind_partitions
l      All|dba|user_ind_subpartitions

它的值是按照以下算法计算出来的:
l      索引按顺序扫描
l      将当前扫描的索引条目的rowid与前一个扫描的rowid做比较,这个比较是在索引的leaf block完成(这些块本身无需访问)。
l      如果发现这两个相邻索引条目的rowid指向不同的block,这时计算器自动计数(自增)。
l      这个动作贯穿于整个index。
l      这个计数结果被存储下来。
如果这个计数值与表中的block数比较接近,则说明索引是有良好的排序。这是因为只有发现相邻索引条目的rowid指向不同的数据块时,才会计数。
如果这个计数值与表中的记录数比较接近,则说明索引是无序的。在这种情况下,相邻的索引条目可能指向不同的数据块,查找某个索引值的时候可能需要读取更多的数据块。
这个clustering factor可以用来调整某个特殊查询所需要访问的block数目。这个决定了使用索引访问表时可能需要访问表的block数目。
当使用索引查找结果时,clustering factor是一个高效的计数器,用来确定需要访问的数据块的数目。将此值乘以索引的选择性将会得出本次操作的成本。index range scan的成本由其控制。



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22472/showart_355795.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP