版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载。转载时,请在文章明显位置注明原文链接。若在未经作者同意的情况下,将本文内容用于商业用途,将保留追究其法律责任的权利。如果有问题,请以邮箱方式联系作者(7 ...
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载。转载时,请在文章明显位置注明原文链接。若在未经作者同意的情况下,将本文内容用于商业用途,将保留追究其法律责任的权利。如果有问题,请以邮箱方式联系作者(793113046@qq.com)。
1、聚簇因子的概念
- 聚簇因子,是CBO优化器决定是否使用索引的因素之一,主要反映索引块上的数据(顺序存储),与该索引基于的表块上的数据(无序存储)的顺序相似程度的差异性。即表数据的存储顺序是否与相应索引数据的存储顺序一致。
- 通过查询dba_indexes视图、user_indexes视图以及all_indexes视图的CLUSTERING_FACTOR列,可以了解当前索引的聚簇因子值。
2、索引块与相应数据块之间数据分布产生差异的原因
3、聚簇因子的计算方法
聚簇因子大致的计算方法顺序如下:
- 进行一次索引全扫描
- 检查索引块中的rowid信息。比较前一个rowid与一个rowid是否指向同一个数据块。若不同,则聚簇因子加1.
- 当完成整个的索引扫面后,即得到该索引的聚簇因子的数值。
4、聚簇因子好坏的判断
良好的CF值,会趋向于数据表的块数。
较差的CF值,会趋向于数据表的行数。
需要注意的是:随着时间的推移,频繁的DML操作,会让CF值总是趋向于恶劣方向发展。
示例:
本示例主要说明CF的趋势性。
--查看当前测试表中索引的聚簇因子情况
原标题:Oracle索引梳理系列(九)
关键词:oracle
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。