Index Clustering Factor 索引聚簇因子-阿里云开发者社区

开发者社区> 数据库> 正文

Index Clustering Factor 索引聚簇因子

简介:

索引聚簇因子,表示了索引所指向的数据在物理实际存储上的紧簇度,该数值越大,则表示越不紧簇,该值越小,则表示该索引非常紧簇。
该概念与索引相关。
比如,有如下一个表的数据存储结构:

 数据块一  数据块2
 
100   Steven    King       SKING    ...  
156   Janette   King       JKING    ...
115   Alexander Khoo       AKHOO    ...
.
.
.
116   Shelli    Baida      SBAIDA   ...
204   Hermann   Baer       HBAER    ...
105   David     Austin     DAUSTIN  ...
130   Mozhe     Atkinson   MATKINSO ...
166   Sundar    Ande       SANDE    ...
174   Ellen     Abel       EABEL    ...
 
149   Eleni     Zlotkey    EZLOTKEY  ...
200   Jennifer  Whalen     JWHALEN   ...
.
.
.
137   Renske    Ladwig     RLADWIG  ...
173   Sundita   Kumar      SKUMAR   ...
101   Neena     Kochar     NKOCHHAR ...
   然后,有如下两种索引:
索引一 INDEX_NAME:
 

Abel,block1row1
Ande,block1row2
Atkinson,block1row3
Austin,block1row4
Baer,block1row5
索引二 EMP_EMP_ID_PK:
100,block1row50 101,block2row1 102,block1row9 103,block2row19 104,block2row39 105,block1row4
则这两个索引的聚簇因子为:
SQL> SELECT INDEX_NAME, CLUSTERING_FACTOR 2 FROM ALL_INDEXES 3 WHERE INDEX_NAME IN ('EMP_NAME_IX','EMP_EMP_ID_PK'); INDEX_NAME CLUSTERING_FACTOR -------------------- ----------------- EMP_EMP_ID_PK 19 EMP_NAME_IX 2

显然,EMP_NAME_IX索引聚簇因子要小很多,因为相邻的索引KEY之间,存取数据位于同一块数据块(data block)上,
检索数据时IO操作消耗很小,
基本可以忽略不计!!

最后贴上索引聚簇因子的作用:

The clustering factor is relevant for index scans because it can show:

  • Whether the database will use an index for large range scans

  • The degree of table organization in relation to the index key

  • Whether you should consider using an index-organized table, partitioning, or table cluster if rows must be ordered by the index key

-----参考自ORACLE的官方手册





本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/742223,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章