1

如果我从 Oracle 那里得到了很好的描述,那么索引聚类因子是一个指标,可以知道行的物理排序是否接近索引给出的排序。因此,当您执行完整扫描时,您不需要每行读取一个物理块。

但是当数据使用索引结构存储时,在Index Organized Table中,聚类因子不就是0吗?

运行select INDEX_NAME, CLUSTERING_FACTOR FROM ALL_INDEXESOracle 为我的主 IOTable 索引提供了一个非零聚类因子。

4

1 回答 1

3

聚类因子数的计算方法是,按照索引值的顺序对索引进行一次全扫描,并计算读取当前行的块与上一行的块不同的次数已获取(有一个 12c(我认为)增强功能将其扩展到之前的 1 值之外)。

因此,在无序表中,每一行都可能位于与前一行不同的块中。在有序表中,它可能位于同一块中。

因此最小的聚类因子一般等于表中的块数,最大值一般等于表中的行数。

对于 IOT,IOT 索引(不是二级索引)的聚集因子很可能与表的块数相同(不包括溢出)。

于 2013-09-06T10:27:42.480 回答