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,如需转载请自行联系原作者
上一篇:python设计模式(四):单例模式及创建型模式总结


下一篇:C#图片处理示例(裁剪,缩放,清晰度,水印)