一. 官网说明
The index clustering factor measures row order in relation to an indexed value suchas employee last name.
The more order that exists in rowstorage for this value, the lower the clustering factor.
-- row 存储的越有序,clustering factor 的值越低
index clustering factor 表示索引值有关的行的顺序 比如employee的last name.
这个值的存储的记录越有顺序,那么 clustering factor越低
The clustering factor is useful as a rough measure of thenumber of I/Os required to read an entire table by means of an index:
(1)If the clustering factor is high, then Oracle Database performs a relativelyhigh number of I/Os during a large index range scan.
The index entries point to random table blocks,
so the databasemay have to read and reread the same blocks over and over again to retrieve thedata pointed to by the index.
clustering factor 是有用的作为一个粗略的测量请求需要的I/O请求来读取整个表通过一个索引
如果 clustering factor 是高的,那么Oracle Database 执行一个相对高的的数量的I/O 在扫描的一个大的索引的时候
index etries 指向一个随机的数据块
因此 数据库可能需要读和重复读相同的数据库一遍又一遍的检索索引指向的数据
--当clustering factor 很高时,说明index entry(rowid) 是随机指向一些block的,在一个大的indexrange scan时,这样为了读取这些rowid 指向的block,就需要一次有一次重复的去读这些block。
(2)If the clustering factor is low, then Oracle Database performs a relativelylow number of I/Os during a large index range scan.
The index keys in arange tend to point to the same data block,
sothe database does not have to read and reread the same blocks over and over.
--当clustering factor 值低时,说明index keys(rowid) 是指向的记录是存储在相同的block里,这样去读row时,只需要在同一个block里读取就可以了。就可以减少重复读取block的次数。
如果clustering factor 是低的,那么Oracle 数据库执行一个相对小数据的I/O在一个大的索引扫描
索引keys 指向相同的数据块
The clustering factor isrelevant for index scans because it can show:
(1)Whether the database will use an index for large range scans
(2)The degree of table organization in relation to the index key
(3)Whether you should consider using an index-organized table,partitioning, or table cluster if rows must be ordered by the index key